도움말: JAVA 암호화된 데이터 PHP 복호화
w
w 2022-07-20 14:14:23
0
2
790

java 加密后的密文:iP6nVfCE9Eiw47utJDR6wV6Lhl4xyOgYykub0HUJSZQ=以下是 java 的 aes 加密类,希望能用 php 解密take来

package com.mk.api. util;import java.security.Key;import java.security.MessageDigest;import java.util.Arrays;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import javax.xml.bind.DatatypeConverter;/***AES 암호화*/public class AES {   private static final String AESTYPE = " AES";   개인 정적 최종 문자열 KEY = "Z8LSq0wWwB5v+6YJzurcP463H3F12iZh74fDj4S74oUH4EONkiKb2FmiWUbtFh97GG/c/lbDE47mvw6j94yXxKHOpoqu6zpLKMKPcOoSppcVWb2q34qENBJkudXUh4MWcreondL mLL2UyydtFKuU9Sa5VgY/CzGaVGJABK2ZR94=";     /*** 암호화 * @param 콘텐츠 * @return*/   public static String encrypt(String str) {      try {         Key key = generateKey();         암호 c = Cipher.getInstance(AESTYPE);         c.init(Cipher.ENCRYPT_MODE, 키);         byte[] encVal = c.doFinal(str.getBytes());         문자열 암호화된값 = DatatypeConverter.printBase64Binary(encVal);         암호화된 값을 반환합니다.      } catch (예외 e) {         e.printStackTrace();      }      null을 반환합니다.   }   /*** 복호화 * @param 콘텐츠 * @return*/   public static String decrypt(String str) {      try {         Key key = generateKey();         암호 c = Cipher.getInstance(AESTYPE);         c.init(Cipher.DECRYPT_MODE, 키);         byte[] decodedValue = DatatypeConverter.parseBase64Binary(str);         byte[] decValue = c.doFinal(장식된값);         문자열 decryptedValue = new String(decValue);         해독된 값을 반환합니다.      } catch (예외 e) {         e.printStackTrace();      }      null을 반환합니다.   }   개인 정적 키 generateKey()는 예외를 발생시킵니다. {      byte[] keyValue = KEY.getBytes("UTF-8");      MessageDigest sha = MessageDigest.getInstance("SHA-1");      keyValue = sha.digest(keyValue);      keyValue = Arrays.copyOf(keyValue, 16);      키 키 = new SecretKeySpec(keyValue, AESTYPE);      리턴 키;   }   }

w
w

모든 응답(2)
autoload

이것을 보세요: https://www.php.cn/php-weizijiaocheng-455991.html

w
package com.mk.api.util;

import java.security.Key;
import java.security.MessageDigest;
import java.util.Arrays;

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.DatatypeConverter;

/**
 * AES 加密
 */
public class AES {

   private static final String AESTYPE = "AES";
   private static final String KEY = "Z8LSq0wWwB5v+6YJzurcP463H3F12iZh74fDj4S74oUH4EONkiKb2FmiWUbtFh97GG/c/lbDE47mvw6j94yXxKHOpoqu6zpLKMKPcOoSppcVWb2q34qENBJkudXUh4MWcreondLmLL2UyydtFKuU9Sa5VgY/CzGaVGJABK2ZR94=";
   
   /**
    * 加密
    * @param content
    * @return
    */
   public static String encrypt(String str) {
      try {
         Key key = generateKey();
         Cipher c = Cipher.getInstance(AESTYPE);
         c.init(Cipher.ENCRYPT_MODE, key);
         byte[] encVal = c.doFinal(str.getBytes());
         String encryptedValue = DatatypeConverter.printBase64Binary(encVal);
         return encryptedValue;
      } catch (Exception e) {
         e.printStackTrace();
      }
      return null;
   }


   /**
    * 解密
    * @param content
    * @return
    */
   public static String decrypt(String str) {
      try {
         Key key = generateKey();
         Cipher c = Cipher.getInstance(AESTYPE);
         c.init(Cipher.DECRYPT_MODE, key);
         byte[] decordedValue = DatatypeConverter.parseBase64Binary(str);
         byte[] decValue = c.doFinal(decordedValue);
         String decryptedValue = new String(decValue);
         return decryptedValue;
      } catch (Exception e) {
         e.printStackTrace();
      }
      return null;
   }

   private static Key generateKey() throws Exception {
      byte[] keyValue = KEY.getBytes("UTF-8");
      MessageDigest sha = MessageDigest.getInstance("SHA-1");
      keyValue = sha.digest(keyValue);
      keyValue = Arrays.copyOf(keyValue, 16);
      Key key = new SecretKeySpec(keyValue, AESTYPE);
      return key;
   }
   

}

위 코드의 형식이 엉망입니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿