注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北漂的小羊

Java编程,开发者,程序员,软件开发,编程,代码。新浪微博号:IT国子监

 
 
 

日志

 
 
关于我

在这里是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。让我们更好地用技术改变世界。请关注新浪微博号: IT国子监(http://weibo.com/itguozijian)

网易考拉推荐

java加密解密算法分析(MD5、SHA单向加密算法)  

2012-12-06 13:34:18|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 最近公司为了修改安全红线,需要修改程序中密码的加密解密算法。因此对java 的加密解密算法做一了解,在这分享一下。
       密码学在加密算法上大体可分为单向加密算法、对称加密算法、非对称加密算法。
       MD5、SHA是单向加密算法的代表,单向加密算法是数据完整性验证的常用算法。DES是典型的对称加密算法的代表,对称加密算法是数据存数加密的常用算法。RSA算法是非对称加密算法的代表,非对称加密算法是数据传输加密的常用算法。
 MD5SHAHMAC这三种加密算法,可谓是非可逆加密,就是不可解密的加密方法,我们称之为单向加密算法。我们通常只把他们作为加密的基础

单向加密算法: 

  • BASE64 严格地说,属于编码格式,而非加密算法
  • MD5(Message Digest algorithm 5,信息摘要算法)
  • SHA(Secure Hash Algorithm,安全散列算法)
  • HMAC(Hash Message Authentication Code,散列消息鉴别码)

      1、单向加密算法-----散列函数

        单向加密算法主要用于对信息完整性的验证,这种技术就是由散列函数提供的消息认证技术。

散列函数,也称做哈希函数、消息摘要函数、单向函数或杂凑函数。通过散列函数,可以为数据创建“数字指纹”(散列值)。散列值通常是一个字母和数字组成的字符串。

其消息认证流程如下:

java加密解密算法分析(MD5、SHA单向加密算法) - 天涯草 - 天涯草

  

MD5 
MD5 -- message-digest algorithm 5 (信息-摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值。好比现在的ISO校验,都是MD5校验。怎么用?当然是把ISO经过MD5后产生MD5的值。一般下载linux-ISO的朋友都见过下载链接旁边放着MD5的串。就是用来验证文件是否一致的。 


SHA 

SHA(Secure Hash Algorithm,安全散列算法),数字签名等密码学应用中重要的工具,被广泛地应用于电子商务等信息安全领域。虽然,SHA与MD5通过碰撞法都被破解了,java加密解密算法分析(MD5、SHA单向加密算法) - 天涯草 - 天涯草 但是SHA仍然是公认的安全加密算法,较之MD5更为安全。

 在非对称密码体制中,公钥和私钥均可用于加密和解密操作,但它与对称密码体制不同。公钥与私钥分属通信双方,一份消息的加密和解密需要公钥与私钥共同参与。公钥加密则需要私钥解密,反之,私钥加密则需要公钥解密。

  评论这张
 
阅读(824)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016