Este artículo describe las funciones de cifrado y descifrado implementadas por Java basadas en el algoritmo de cifrado simétrico AES. Compártelo para su referencia, como sigue:
paquete com.soufun.com; import java.io.unsupportedenCodingException; import java.security.invalidkeyException; import java.security.nosuchalgorithmexception; import java.security.ssecurerandom; import java.util.date; import javax.crypto. ella; import javax.crypto.illegalblocksizeException; import javax.crypto.keyGenerator; importar javax.crypto.nosuchpaddingexception; importar javax.crypto.secretkey; import javax.crypto.spec.secretkeyspec;/** * @author whd */public class aesutil {private static string aes = "aes"; kgen = keyGenerator.getInstance (AES); TODO Generado Bloque E.PrintStackTrace (); contraseña.getBytes ())); KGen.GENERATEKE (); / Inicializar el objeto cifrado cipher.init (cipher.encrypt_mode, key); cipher.dofinal (bytecontent); Ace (); E.PrintStackTrace (); getBytes ()); EncodeFormat = SecretKey.getEncoded (); ] resultado = cipher.dofinal (contenido); Catch (nosuchpaddingException e) {E.PrintStackTrace (); * @param buf * @return */ private static string parseByte2hexstr (byte buf []) {stringBuffer sb = nuevo StringBuffer (); -》 Conversión binaria * @param hexstr * @return */ private static byte [] parsehexstr2byte (string hexstr) {if (hexstr.length () <1) {return NULL; ; Args) lanza UnspportEdEncodingException {long begin = new Date (). GetTime (); (encryPtresult); CiCryPtresultStr); () .GetTime ();Nota: Secureandom genera una secuencia de número aleatoria segura, Password.getBytes () es una semilla.
PD: Los amigos interesados en el cifrado y el descifrado también pueden referirse a las herramientas en línea de este sitio:
Detección en línea de seguridad de la contraseña:
http://tools.vevb.com/password/my_password_safe
Generador de contraseñas de alta resistencia:
http://tools.vevb.com/password/createstrontepassword
Herramientas de cifrado/descifrado de URL de Thunder, Express y Tornado:
http://tools.vevb.com/password/urlrethunder
Herramienta de cifrado de algoritmo de hash/hash en línea:
http://tools.vevb.com/password/hash_encrypt
MD5 en línea/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160 herramienta de cifrado:
http://tools.vevb.com/password/hash_md5_sha
En línea SHA1/SHA224/SHA256/SHA384/SHA512 Herramienta de cifrado:
http://tools.vevb.com/password/sha_encode
Espero que este artículo sea útil para la programación Java de todos.