加密解密算法总结分析

写代码的时候,一般情况下需要对部分传输的数据做加密或者签名。

(1)关键数据需要做加密处理。

(2)非关键数据则不需要加密,只需要将需要传送的数据加上签名即可。


加解密的原理:

对称加密:

原理:在加密和解密时使用的是同一个秘钥具体做法就是用密钥进行混淆、换位等运算来进行加密、解密。

优缺点:加密速度快!如果单纯使用这种方式,密钥容易被暴力破解。

可是很多场合需要用到它,那么可以通过以下方式提高加密级别,这样就很难破译了。原理嘛,就像以前间谍战里用到的密码本,这种方式的加密、解密用到的都是同一个密码本,非常厉害,如果找不到密码本,基本上永远无法破译。

(1)可加入专门的密码表混淆加密,比如说专门生成一张密码表存到一个位置,每次加密时,将它与需要加密的内容合在一起,然后加密。

(2)加入salt,比如随机生成一个md5串,与加密的内容合到一起,然后加密。

非对称加密:

原理:取两个大的素数,然后把他们相乘,就可以得到更大的一个数字。将这个大数作为公开密钥,然后将其中一个素数作为私有密钥!这时候公钥随便加密,但是只有私钥才能解密。或者用私钥加密后,只有公钥才能解开。这时,光知道公钥,基本上很难算到是哪两个素数相乘的。这就是不对称算法。这个东西出来有50年了,数学家实在令人...羡慕!

在这里还想多叨叨一句,很早以前,计算机永远无法生成真正的随机数,都是伪随机数,有规律可循。而...最近竟然又有科学家说能让计算机生成真正的随机数...计算机是一种可确定,可预测的的设备,想通过一行一行的确定的代码自身产生真随机,显然不可能。只能通过引入外界的真随机,软硬结合,才有这个可能!比如量子力学可以解决这个问题。原子、电子的震动是真随机...抛硬币也是真随机...

巧妙运用公开密钥、私有密钥对内容进行加密、解密。这样更安全,破译难度更大,但是缺点是速度慢,只能对少量内容加密或做签名!


签名处理:

签名处理一般都是非对称加密,只能加密,不能反向解密。

私钥只有一份,存在本公司。其他外部系统只需用公钥解密即可。


再简单一点,就是直接用MD5加密:直接设置一个大家都共用的一个key,将数据做MD5加密处理,所有其他系统的接口,也都共用这个key。这样其实不太安全,一个系统的key泄露,其他全都泄露了。不如非对称加密中的私钥、公钥安全。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值