Este artigo descreve a definição e o uso do algoritmo de criptografia simétrica 3DES implementado pelo Java. Compartilhe -o para sua referência, como segue:
1. Por que 3des aparece
1. Retorno ao princípio de Kirkhoff
2. Existem problemas de segurança
Dois benefícios do 3DES (Triple des ou Deede)
1. Aprimoramento do comprimento da chave
2. Aumente o número de iterações
Três parâmetros relacionados ao 3DES
Quatro 3des Code Implementation
pacote com.imooc.security.des; importar java.security.key; importar java.security.securerendom; importar javax.crypto.cipher; importar javax.crypto.keyGenerator; import javax.crypto.secretKey; import javax.crypto.cryPenerator; javax.crypto.spec.desedekeyspec; importar org.apache.commons.codec.binary.base64; classe pública IMOOC3DES {private static string src = "cakin24 security 3des"; public static void main (string [] args) {jdk3des (); } public static void jdk3des () {try {// gerar keygenerator keyGenerator = keyGenerator.getInstance ("desede"); //KeyGenerator.init(168); keyGenerator.init (new SecureRandom ()); // Comprimento padrão secretKey SecretKey = keyGenerator.GeRekeKey (); byte [] byteskey = secretKey.getEncoded (); // Conversão -chave Desedekeyspec deedekeyspec = new Desedekeyspec (Byteskey); SecretKeyFactory Factory = secretKeyFactory.getInstance ("Desede"); Key convertSecretKey = factory.generateSecret (desdeekeyspec); // criptografia cifra cifra = cipher.getInstance ("DEEDE/ECB/PKCS5Padding"); cipher.init (cipher.encrypt_mode, convertSecretKey); byte [] resultado = cipher.dofinal (src.getbytes ()); System.out.println ("JDK 3DES Encrypt:" + base64.EncodeBase64String (resultado)); // descriptografar cifra.init (cipher.decrypt_mode, convertSecretKey); resultado = cipher.Dofinal (resultado); System.out.println ("JDK 3DES descriptografar:" + new String (resultado)); } catch (Exceção e) {e.printStackTrace (); }}}Cinco conquistas
JDK 3DES Encrypt: 6t7a/rnardzsl+mtezvbfxwnnzr0yjbw
JDK 3DES Decrypt: Cakin24 Security 3DES
Nota: org.apache.commons.codec.binary.Base64 é introduzido aqui e você pode clicar aqui para baixar este site .
PS: Amigos interessados em criptografia e descriptografia também podem se referir às ferramentas on -line deste site:
Ferramentas on -line de criptografia/descriptografia:
http://tools.vevb.com/password/des_encode
Texto Ferramentas de criptografia e descriptografia on -line (incluindo AES, DES, RC4, etc.):
http://tools.vevb.com/password/txt_encode
Ferramenta de criptografia online do MD5:
http://tools.vevb.com/password/createmd5password
Online md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160 ferramenta de criptografia:
http://tools.vevb.com/password/hash_md5_sha
Online SHA1/SHA224/SHA256/SHA384/SHA512 Ferramenta de criptografia:
http://tools.vevb.com/password/sha_encode
Para obter mais informações sobre o conteúdo relacionado a Java, consulte os tópicos deste site: "Resumo das habilidades de operação matemática de Java", "Tutorial sobre estruturas e algoritmos de dados Java", "Resumo dos caracteres Java e habilidades de operação de cordas", "Resumo da operação Java Dom Node Skills e" Resumo de Java Cache Skills Skills Skills ".
Espero que este artigo seja útil para a programação Java de todos.