Este artigo descreve o algoritmo de criptografia AES implementado pelo Java. Compartilhe -o para sua referência, como segue:
importar javax.crypto.cipher; importar javax.crypto.spec.ivparameterspec; importar javax.crypto.spec.secretkeyspec; import android.util.base64;/** * @author vipin.cb, vipin.cbas <br> * pacote:- <b> com.veebow.util </b> <br> * Projeto:- <b> veebow </b> * <p> */public class AesCrypt {private final cipher cipher; Chave SecretKeyspec final privada; algoritmparamespec spec privado; public static final string Seed_16_character = "u1mju1m0fdouz.qz"; public AesCrypt () lança exceção {// Senha de hash com SHA-256 e corte a saída para 128 bits para key Messagedigest Digest = Messagedigest.getInstance ("SHA-256"); Digest.Update (SEED_16_CHARACTER.GETBYTES ("UTF-8")); byte [] keybytes = novo byte [32]; System.ArrayCopy (Digest.Digest (), 0, KeyBytes, 0, KeyBytes.Length); cipher = cipher.getInstance ("AES/CBC/PKCS7Padding"); key = new SecretKeyspec (Keybytes, "Aes"); spec = getiv (); } public algorithmparameterspec getiv () {byte [] iv = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}; IVParameterspec IVParameterspec; IVParameterspec = novo IVParameterspec (IV); retornar IVParametersPec; } public String Encrypt (String PlainText) lança exceção {cipher.init (cipher.encrypt_mode, chave, especificação); byte [] criptografado = cipher.dofinal (planyText.getBytes ("utf-8")); String EncryPteDText = new String (base64.Encode (criptografado, base64.Default), "UTF-8"); retornar EncryptEdText; } public string decrypt (string CrypteDText) lança a exceção {cipher.init (cipher.decrypt_mode, chave, spec); byte [] bytes = base64.Decode (CrypteDText, base64.Default); byte [] descriptografado = cifra.Dofinal (bytes); String descrevedtext = new String (descriptografado, "UTF-8"); Retornar descriptografado Text; }}PS: Amigos interessados em criptografia e descriptografia também podem se referir às ferramentas on -line deste site:
Segurança de senha Detecção on -line:
http://tools.vevb.com/password/my_password_safe
Gerador de senha de alta resistência:
http://tools.vevb.com/password/createstrongpassword
Ferramenta de criptografia online do MD5:
http://tools.vevb.com/password/createmd5password
Ferramentas de criptografia/descriptografia de Thunder, Express e Tornado URL:
http://tools.vevb.com/password/urlrethunder
Ferramenta de criptografia de algoritmo de hash/hash online:
http://tools.vevb.com/password/hash_encrypt
Espero que este artigo seja útil para a programação Java de todos.