В этой статье описывается определение и использование алгоритма симметричного шифрования 3DES, реализованного Java. Поделитесь этим для вашей ссылки, следующим образом:
1. Почему появляются 3DES
1. Вернитесь к принципу Киркхоффа
2. Есть проблемы безопасности
Два 3des (Triple des или Desede) преимущества
1. Улучшение длины ключей
2. Увеличьте количество итераций
Три параметра, связанные с 3DES
Четыре реализации кода 3DES
пакет com.imooc.security.des; import java.security.key; import java.security.securerandom; import javax.crypto.cipher; импорт javax.crypto.keygenerator; import javax.crypto.secretkey; импорт javax.crypto.secretkeyfactory; javax.crypto.spec.desedekeyspec; import org.apache.commons.codec.binary.base64; открытый класс imooc3des {частная статическая строка 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 ()); // по умолчанию Dely SecretKey = KeyGenerator.GenerateKey (); byte [] byteskey = secretkey.getencoded (); // преобразование ключей deseDekeySpec deseDekeySpec = new desedekeyspec (byteskey); SecretKeyFactory Factory = secretKeyFactory.getInstance ("desede"); Key ConvertSecretKey = factory.GenerateCret (desedeKeySpec); // шифрование шифрования Cipher = cipher.getInstance ("desede/ecb/pkcs5padding"); cipher.init (cipher.encrypt_mode, convertsecretkey); byte [] result = cipher.dofinal (src.getbytes ()); System.out.println ("JDK 3DES Encrypt:" + base64.encodebase64String (результат)); // Decrypt cipher.init (cipher.decrypt_mode, convertsecretkey); result = cipher.dofinal (result); System.out.println ("JDK 3DES Decrypt:" + new String (result)); } catch (Exception e) {e.printstackTrace (); }}}Пять достижений
jdk 3des incrypt: 6t7a/rnardzsl+mtezvbfxwnnzr0yjbw
JDK 3DES DECRYPT: CAKIN24 Security 3DES
Примечание. Здесь представлен пакет org.apache.commons.codec.binary.Base64 , и вы можете нажать здесь, чтобы загрузить этот сайт .
PS: друзья, которые заинтересованы в шифровании и дешифровании, также могут относиться к онлайн -инструментам этого сайта:
Инструменты онлайн -шифрования/дешифрования:
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», «Учебное пособие по структурам данных и алгоритмам Java», «Сводка символов Java и навыки операции по обращению», «Сводка операции Java Operation Dom Node» и «Сводка операции Java Cache», «Сводка операции Java Dom Node» и «Сютовая операция Java Cache», «Сводка
Я надеюсь, что эта статья будет полезна для всех Java Programming.