关于MD5概念及例子

【简述】MD5 是一种MAC(Message Authentication Code),中文译为“消息认证码”,属于一种散列方法,对文本、文件生成摘要串(跟加密解密有本质区别,解密是可以根据密钥获得原信息,摘要目前非常难获得原信息,设想1个4G的文件,生成128位摘要字符,怎么还原成原文),用于验证信息是否被篡改过。

实际处理场景比如:你通过微信购买基金,需要输入用户ID,操作类型,客户真实姓名,基金公司及基金代码,怎么保证这个信息是你的真实操作,没有经过中途篡改呢,这个时候就会做如下处理:

string str=用户ID*操作类型*客户真实姓名*基金公司*基金代码*额外设置验证字符串;

string digst=getMD5(str);

然后在上送交易时,除了把 交易信息  “用户ID*操作类型*客户真实姓名*基金公司*基金代码“ 送到 服务端去处理,还会把 摘要信息一并递送,服务端会根据上送交易信息,继续做一次getMD5,然后把 计算所得摘要跟上送摘要进行对比,看是否一致,如果一致,说明没有被篡改,是真实可信的。以下是网上的一个例子。

* @param  String 原始的SPKEY
* @return  byte[] md5后的byte[]
*/
private byte[] md5(String strSrc)
{
byte[] returnByte = null;
try
{
MessageDigest md5 = MessageDigest.getInstance("MD5");
returnByte = md5.digest(strSrc.getBytes("GBK"));
}
catch(Exception e)
{
e.printStackTrace();
}
return returnByte;
}​

 

你可能感兴趣的:(JAVA开发)