关于哈希和加密

哈希:将目标文本转换成为具有相同长度,不可逆的杂凑字符串(或称为信息摘要,其长度都是固定的);

加密:以某种特殊的算法,将原本信息数据进行改变,使得即使没有权限的人看到消息也不能从中得到任何有用信息,但是加密的信息是保证可逆的,即可加密必可解密(其长度与目标文本成正比)。

 

哈希算法与加密

     1,哈希算法:R= H(s) 是多对一映射,多个不同的s可以通过哈希算法H得到相同的R,所以就不存在一个逆映射,,使得一个R能得到唯一的S(不可逆);

     一个设计良好的hash算法很难从哈希结果中找到目标文本的碰撞,另外好的哈希算法对于目标的改变极其敏感。

    何为碰撞?对于哈希算法H,如果是s1!=s2,但是H(s1)=H(s2),则称s1与s2互为碰撞。

    2,加密算法:R=E(s,Ke)是一对一映射,一个s结合加密密钥Ke,仅能得到唯一的密文R,反之,一个R结合解密秘钥Kd也能得到唯一的s.

    一个设计良好的加密算法应该是一个“单向陷门函数”,单向陷门函数的特点:即使知道函数本身也很难有函数的值求得其对应的自变量,可是一旦知道了陷门,自变量就很容易计算出来。

简单的说,好的加密算法是很难从密文求得明文的,但如果一旦密钥被知道了,就很容易由密文求得明文。

    3,哈希与加密的应用

    哈希和加密在软件开发中最常见的应用是数据保护。为了实现数据保护,选择哈希or加密的基本原则:

    如果被保护的数据仅用做比较验证,以后不需要还原成明文,使用哈希;

    如果被保护的数据需要被还原成明文,使用加密;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值