이 기사에서는 Java가 구현 한 AES 암호화 알고리즘에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
import javax.crypto.cipher; import javax.crypto.spec.ivparameterspec; import javax.crypto.spec.secretkeyspec; import android.util.base64;/** * @author vipin.cb, [email protected] <br> * sep 27, 5, 5: <br> * 패키지 :- <b> com.veebow.util </b> <br> * project :- <b> veebow </b> * <p> */public class aescrypt {private final cipher cipher; 개인 최종 시크릿 키 스펙 키; 비공개 알고리즘 파라 메테르 스펙크 사양; 공개 정적 최종 문자열 seed_16_character = "u1mju1m0fdouz.qz"; public aescrypt ()는 예외 {// 해시 비밀번호를 sha-256으로 비밀번호로 던지고 주요 messagegageest digest = messagedigest.getInstance ( "SHA-256")를 위해 출력을 128 비트로 자릅니다. digest.update (seed_16_character.getBytes ( "utf-8")); 바이트 [] keybytes = 새로운 바이트 [32]; System.ArrayCopy (digest.digest (), 0, keybytes, 0, keybytes.length); cipher = cipher.getInstance ( "aes/cbc/pkcs7padding"); key = new SecretKeyspec (keybytes, "aes"); spec = getiv (); } public allgorithmparameterspec getiv () {byte [] iv = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}; ivparameterspec ivparameterspec; ivparameterspec = 새로운 ivparameterspec (iv); 반환 ivparameterspec; } public String Encrypt (String PlainText) 예외 {cipher.init (cipher.encrypt_mode, key, spec); 바이트 [] 암호화 = cipher.dofinal (plaintext.getBytes ( "UTF-8")); String EncryptedText = new String (base64.encode (암호화, base64.default), "UTF-8"); 반환 암호화 텍스트; } public string decrypt (String cryptedText) 예외 {cipher.init (cipher.decrypt_mode, key, spec); 바이트 [] bytes = base64.decode (cryptedText, base64.default); 바이트 [] 암호 해독 = cipher.dofinal (bytes); 문자열 decryptedText = 새 문자열 (해독, "UTF-8"); 반두 암호화 텍스트를 반환합니다. }}
추신 : 암호화 및 암호 해독에 관심이있는 친구들 도이 사이트의 온라인 도구를 참조 할 수도 있습니다.
비밀번호 보안 온라인 탐지 :
http://tools.vevb.com/password/my_password_safe
고강도 비밀번호 생성기 :
http://tools.vevb.com/password/createstrongpassword
MD5 온라인 암호화 도구 :
http://tools.vevb.com/password/createmd5password
Thunder, Express 및 Tornado URL 암호화/암호 해독 도구 :
http://tools.vevb.com/password/urlrethunder
온라인 해시/해시 알고리즘 암호화 도구 :
http://tools.vevb.com/password/hash_encrypt
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.