码迷,mamicode.com
首页 > 其他好文 > 详细

浅谈信息加密技术和算法

时间:2014-06-24 15:26:40      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:信息加密

1单向散列加密

    单向散列加密是指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,不可逆的。常用的单向散列算法有MD5,SHA等。

    比如网站中,用户密码,一般可以进行MD5加密后保存,用户登录时,对用户输出的密码进行加密后和数据库密文进行比较,如果一致,则验证成功。

   为了加强计算的安全性,可以对数据加上密钥,增加破解的难度。

bubuko.com,布布扣

推荐使用 apache common的 commons-codec的 jar包 比如(commons-codec-1.8.jar)

    /**
     * 字符串进行MD5加密
     * @param str
     * @return
     */
    public static String encryptMD5(String str) {
        return DigestUtils.md5Hex(str);
    }

    /**
     *  将字符串 SHA 加密
     * @param str
     * @return
     */
    public static String encryptSHA(String str) {
        return DigestUtils.sha1Hex(str);
    }


2对称加密

    对称加密是指加密和解密使用相同的密钥。明文可以根据密钥进行加密,密文可以根据密钥进行解密为明文。

    对称加密算法常用于Cookie加密,通信加密等场合。常用的算法有DES,RC,AES算法等。

    对称算法有点是算法简单,加密解密效率高,系统开销小,适合对大量数据加密。是一种传统加密手段,也是最常用的加密手段,适用于绝大多数需要加密的场合。

    

bubuko.com,布布扣

java-DES加密/解密 -demo: http://www.oschina.net/code/snippet_727646_18383

3非对称加密

    非对称加密,是指加密和解密使用不同的密钥,其中一个对外公布,称为公钥,另外一个不对外公布,称为私钥。用公钥加密的信息必须用私钥解开,用私钥加密的信息只有公钥才能解开。

    非对称加密技术常用于信息安全传输,数字签名等场合。常用算法有RSA算法等。

    比如信息发送者获得信息接受者的公钥,对提交信息进行加密,通过非安全传输通道将密文发送给接受者,接受者得到密钥后,用自己的私钥进行解密,获得明文信息。在传输过程中遭到信息窃取时,窃取者没有密钥无法获得明文。

    数字签名过程相反,签名者用自己的私钥对信息进行加密,发送接收方,接收方使用签名者的公钥对信息进行解密,由于私钥只有签名者拥有,那么发送的信息具有签名性质,不可抵赖。

bubuko.com,布布扣

java-RSA加密/解密-demo :http://blog.csdn.net/centralperk/article/details/8558678

http://blog.csdn.net/liuhuabai100/article/details/7585879

4总结

    在实际应用中,可根据实际需要可以混合进行使用。同时加密技术中,密钥是十分关键的存在。一旦密钥泄露出去,加密信息就会失去秘密性。在一些安全性高的项目中,密钥和算法可以独立部署,向外提供加密和解密服务,由专人维护,系统性能开销较大。或者加密算法放在应用中,密钥单独部署,定时更新,密钥可进行切片存储多台服务器,每台服务器有专人管理,大家各司其职,没人可以查看完成密钥信息。


参加文献:《大型网站技术架构》——李智慧(这本书真是个好书,可以大大开拓程序员的眼界)

浅谈信息加密技术和算法,布布扣,bubuko.com

浅谈信息加密技术和算法

标签:信息加密

原文地址:http://blog.csdn.net/lujianing2011/article/details/34065203

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!