이 기사에서는 AES 암호화 및 암호 해독을 구현하기 위해 HEX 인코딩 및 디코딩의 사용에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
여기서, AES 암호화 및 암호 해독 방법은 16 진수를 사용하여 인코딩 및 디코딩된다.
package com.baidu.wallet.bdwallet.utils; import java.io.unsupportedencodingException; import java.security.invalidkeyexception; import java.security.nosuchalgorithmexception; import javax.crypto.badpaddingexception; javploc Ocksizeexception; import javax.crypto.nosuchpaddingException; import javax.crypto.spec.secretkeyspec; import org.apache.commons.codec.decoderexception; import org.apache.commons.codec.binary.hex; public static final string aes = "aes"; @throws decoderexception */ private static byte [] encrypt (문자열 내용, 문자열 pkey) 던지기 decoderexception {string private_key = pkey; ();} secretkeyspec = encodeformat, aes); cipher.getInstance (AES/ECB/PKCS5PADDING”; return recense} catch (nosuchalgorithmexception e) {nosuchpaddingException e) {e.printstacktrace. Catch (e.printstacktrace e) {e.printstacktrace () {e.printstacktrace () {badpaddingection e); @param contents * @param password * @return * @throws decoderexception */ private static byte [] Decrypt (String Contents, String Password)는 Decoderexception을 던집니다. {// ciphertext byte [] contement = hex.decodehex (contents.tocharray ()를 해독하기 위해 Hex를 사용합니다. tocharray ()); Secretkeyspec Key = New SecretKeyspec (EncodeFormat, AES); cipher.getinstance (AES); dingexception e) {e.printstacktrace ()} catch e) {e.printstacktrace (); {e.printstacktrace (); oderexception {// 암호화 된 일반 텍스트는 암호 텍스트 바이트 [] Encryptresult =가됩니다. 암호화 (context, private_key); 암호 해독 (문자열 컨텍스트, String private_key)은 Decoderexception을 던지고, UnsupportEncodingException {// hex decoding은 ciphertect를 여기에서 암호화하기 전에 수행됩니다. 123456787654321 "; // aes 암호화 및 암호 해독 키 스트링 암호 ="이 값은 일반적으로 주어지며, 두 발신자는 모두 알고 있습니다. "; // 암호화 전 : // 암호화 방법을 호출합니다 .out.println (해독 후 : " + 결과)};공식 프로젝트 에서이 방법에 문제가 없습니다.
위의 방법은 org.apache.commons.codec.binary.hex에서 사용됩니다.
<pectionency> <groupid> Commons-Codec </groupid> <artifactid> Commons-Codec </artifactid> <버전> 1.4 </version> </fectionency>
참고 : 여기에서 버전 1.4 이상을 사용해야하며 1.4 미만의 Hex.encodeHexString (byte []) 메소드가 없어야합니다!
추신 : 암호화 및 암호 해독에 관심이있는 친구들 도이 사이트의 온라인 도구를 참조 할 수도 있습니다.
비밀번호 보안 온라인 탐지 :
http://tools.vevb.com/password/my_password_safe
고강도 비밀번호 생성기 :
http://tools.vevb.com/password/createstrongpassword
Thunder, Express 및 Tornado URL 암호화/암호 해독 도구 :
http://tools.vevb.com/password/urlrethunder
온라인 해시/해시 알고리즘 암호화 도구 :
http://tools.vevb.com/password/hash_encrypt
온라인 MD5/HASH/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 암호화 도구 :
http://tools.vevb.com/password/hash_md5_sha
온라인 SHA1/SHA224/SHA256/SHA384/SHA512 암호화 도구 :
http://tools.vevb.com/password/sha_encode
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.