您的位置:首页 > 其它

加密解密算法总结分析

2017-06-27 17:16 302 查看
写代码的时候,一般情况下需要对部分传输的数据做加密或者签名。

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

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

加解密的原理:

对称加密:

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

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

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

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

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

非对称加密:

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

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

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

签名处理:

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

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

再简单一点,就是直接用MD5加密:直接设置一个大家都共用的一个key,将数据做MD5加密处理,所有其他系统的接口,也都共用这个key。这样其实不太安全,一个系统的key泄露,其他全都泄露了。不如非对称加密中的私钥、公钥安全。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: