Red de conocimiento informático - Aprendizaje de programación - Cifrado Java y firmas digitales 1 resumen de mensajes

Cifrado Java y firmas digitales 1 resumen de mensajes

Este artículo habla principalmente sobre el cifrado y las firmas digitales en criptografía y cómo usarlos en Java. Los socios interesados ​​en la criptografía recomiendan leer el libro Applied Crypotography de Bruce Schneier en las versiones de jdk. también proporciona soporte directo para el algoritmo RSA. Ahora comenzamos a resolver el problema a partir de un ejemplo (este artículo es solo una breve introducción)

Un concepto comúnmente utilizado en criptografía

 ) Mensaje. Resumen

Esta es una técnica que se utiliza junto con un código de autenticación de mensajes para garantizar la integridad del mensaje. Utiliza principalmente un algoritmo de función hash unidireccional. Se puede utilizar para verificar la integridad del mensaje y directamente. Los algoritmos de hash de contraseña actualmente ampliamente utilizados, como guardar en forma de texto, incluyen MD MD SHA jdk proporciona soporte para el resumen de mensajes en Java. La seguridad de Java MessageDigest proporciona un método de operación simple.

Código Java.

/***MessageDigestExample java*Copyright */import java security MessageDigest /***Se puede utilizar un algoritmo de resumen de mensaje único que no utiliza una contraseña para ocultar el formato simple. mensajes de texto (como contraseñas) Guardar */ public class MessageDigestExample{ public static void main(String[] args) throws Exception{ if(args length!= ){ System err println( Usage:java MessageDigestExample text ); System exit() ; } byte[] PlainText= args[ ] getBytes( UTF ); // Utilice getInstance( algoritmo) para obtener el resumen del mensaje. Aquí se utiliza el algoritmo de bits de SHA MessageDigest messageDigest=MessageDigest getInstance( SHA ); getProvider() getInfo()); //Iniciar uso del algoritmo messageDigest update(plainText); System out println(Digest: ); // Genera el resultado de la operación del algoritmo System out println(new String(messageDigest digest() UTF)); }} lishixinzhi/Article/program/Java/gj/201311 /27287