이 기사에서는 Java가 구현 한 3DES 대칭 암호화 알고리즘의 정의 및 사용에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
1. 3DES가 나타나는 이유
1. Kirkhoff 원칙으로 돌아갑니다
2. 보안 문제가 있습니다
두 개의 3DES (트리플 DES 또는 DESEDE) 혜택
1. 키 길이 향상
2. 반복 수를 늘리십시오
3 개의 3DES 관련 매개 변수
4 개의 3DES 코드 구현
패키지 com.imooc.security.des; import java.security.key; import java.security.securerandom; import javax.crypto.cipher; import javax.crypto.keygenerator; import javax.crypto.secretkey; import javax.crypto.secretkeyfactory; import; javax.crypto.spec.desedekeyspec; import org.apache.commons.codec.binary.base64; public class imooc3des {private static string src = "Cakin24 Security 3des"; public static void main (String [] args) {jdk3des (); } public static void jdk3des () {try {// 키 키 게이터 keygenerator = keygenerator.getInstance ( "desede"); //keyGenerator.init(168); keygenerator.init (new securerandom ()); // 기본 길이 Secretkey SecretKey = KeyGenerator.generateKey (); 바이트 [] byteskey = secretkey.getencoded (); // 키 변환 Desedekeyspec Desedekeyspec = New Desedekeyspec (Byteskey); SecretKeyFactory Factory = SecretKeyFactory.getInstance ( "Desede"); key convertsecretkey = factory.generatesecret (Desedekeyspec); // 암호화 암호 암호 = cipher.getInstance ( "desede/ecb/pkcs5padding"); cipher.init (cipher.encrypt_mode, convertsecretkey); 바이트 [] result = cipher.dofinal (src.getBytes ()); System.out.println ( "JDK 3DES 암호화 :" + base64.encodebase64string (result)); // decrypt cipher.init (cipher.decrypt_mode, convertsecretkey); 결과 = cipher.dofinal (결과); System.out.println ( "jdk 3des decrypt :" + new String (result)); } catch (예외 e) {e.printstacktrace (); }}}5 개의 업적
JDK 3DES 암호화 : 6T7A/RNARDZSL+MTEZVBFXWNZR0YJBW
JDK 3DES Decrypt : Cakin24 보안 3DES
참고 : org.apache.commons.codec.binary.Base64 패키지가 여기에 소개되며 여기를 클릭 하여이 사이트를 다운로드 할 수 있습니다.
추신 : 암호화 및 암호 해독에 관심이있는 친구들 도이 사이트의 온라인 도구를 참조 할 수도 있습니다.
온라인 des 암호화/암호 해독 도구 :
http://tools.vevb.com/password/des_encode
텍스트 온라인 암호화 및 암호 해독 도구 (AES, DES, RC4 등) :
http://tools.vevb.com/password/txt_encode
MD5 온라인 암호화 도구 :
http://tools.vevb.com/password/createmd5password
온라인 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 관련 컨텐츠에 대한 자세한 내용은이 사이트의 주제를 확인하십시오. "Java Mathematical Operation Skills의 요약", "Java 데이터 구조 및 알고리즘에 대한 튜토리얼", "Java 캐릭터 및 문자열 운영 기술 요약", "Java 운영 Dom Node Skills 요약"및 "Java Cache 운영 기술의 요약"을 확인하십시오.
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.