この記事では、Javaによって実装された3DES対称暗号化アルゴリズムの定義と使用について説明します。次のように、参照のために共有してください。
1.なぜ3DEが表示されるのか
1。Kirkhoffの原則に戻ります
2。セキュリティの問題があります
2つの3DES(トリプルデスまたはdede)の利点
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.cretreckeyfactory; javax.crypto.spec.desededekeyspec; Import org.apache.commons.codec.binary.base64; public class imoooc3des {private static string src = "cakin24 security 3des"; public static void main(string [] args){jdk3des(); } public static void jdk3des(){try {// keygenerator keygenerator = keygenerator.getInstance( "dede"); //keygenerator.init(168); keygenerator.init(new Securerandom()); //デフォルトの長さSecretKey SecretKey = keyGenerator.GenereTKey(); byte [] byteskey = secretkey.getEncoded(); //キーコンバージョンdesedekeyspec desedekeyspec = new desedekeyspec(byteskey); SecretKeyFactory Factory = SecretKeyFactory.getInstance( "Desede"); key convertsecretkey = factory.generatesecret(desedekeyspec); //暗号化cipher cipher = cipher.getInstance( "desede/ecb/pkcs5padding"); cipher.init(cipher.encrypt_mode、convertsecretkey); byte [] result = cipher.dofinal(src.getBytes()); System.out.println( "JDK 3DES暗号化:" + base64.encodeBase64String(result)); // 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(); }}}5つの成果
JDK 3DES暗号化:6T7A/RNARDZSL+MTEZVBFXWNNZR0YJBW
JDK 3DES Decrypt:Cakin24 Security 3DES
注: org.apache.commons.codec.binary.Base64パッケージはこちらから紹介しています。ここをクリックしてこのサイトをダウンロードできます。
PS:暗号化と復号化に興味がある友人は、このサイトのオンラインツールを参照することもできます。
オンラインdes暗号化/復号化ツール:
http://tools.vevb.com/password/des_encode
テキストオンライン暗号化と復号化ツール(AE、DES、RC4などを含む):
http://tools.vevb.com/password/txt_encode
MD5オンライン暗号化ツール:
http://tools.vevb.com/password/createmd5password
オンラインMD5/ハッシュ/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 Skillsの要約」、および「Java Cache操作スキルの概要」
この記事がみんなのJavaプログラミングに役立つことを願っています。