懒人入门这两点足以说明本文不要什么高端的技术含量。告诉你,全是水。不能有素数,椭圆曲线加密,Diffie-Hellman等等,不能有。首先,我不明白,其次,你无论如何也不明白。不过这里先说一句,就是很多泥腿一直把md5当成一种加密算法,但实际上md5是一种信息摘要算法(其实就是hash),不是加密算法,因为md5是不可逆的,但是加密而解密是一个可逆的过程,以后还是不要犯这种低级错误为好。加密技术一直是技术圈中一个独特的领域和分支,它的一些原理不是随便就能理解的。如果你没有良好的数学基础,可能很难学习。不过作为水文一块,不研究原理,只拿来实践,问题不大。加密分为两类:对称加密。常见的算法有DES、3DES、AES等,据说AES是非对称加密最新最常用的算法,而RSA、DSA、ECDH等都是用同一个密钥加密和解密信息。比如元首要经营东线,给古德里安发了电报,大概意思是“让开让我经营!马上南下打基辅!”,但是元首怕朱可夫看到这条消息,元首就用强密钥123456加密这段话,然后这段话就变成了akjdslfjalwjglajwg。古德里安收到这个乱七八糟的东西后,用123456解密,得到了明文“让开,让我操作!马上南下打基辅!”,但是朱可夫想不出这个超级钥匙,因为他手忙脚乱他的脑袋123456,所以朱可夫注定要发呆,最终导致60万苏军在基辅被强奸!但是这里有个问题,就是元首是怎么告诉古德里安私钥是123456的,两人事先商量好,1941年6月22日的前一天就偷偷商量好了。。.两人事先并没有商量,而是在古德里安到达东线后,元首通过电话、电报、QQ、微信进行了交流。.....对于朱可夫来说,如果对方采用方案1,那他也没有什么好的办法,只能等潜伏在古德里安身边的卧底返回123456,既然钥匙暴露了,就得换一把新钥匙。元首只能到2号路线去把新钥匙告诉古德里安。现在有趣的是如何加密密钥。答案是不。这时候问题就陷入了要加密就必须先加密的矛盾。因此,这个密钥注定要以明文形式传输。只要是明文传输,朱可夫肯定有机会拿到钥匙。非对称加密就是为了解决这个问题而诞生的。私钥调来调去又不泄露,开什么玩笑。还是元首和古德里安。此时,他们分别生成一对自己的公钥和私钥。这里需要强调的是:公钥和私钥是成对生成的,两者通过某种神秘的数学原理联系在一起。是什么,不知道公钥加密的数据,只能通过对应的私钥解密;用私钥加密的数据只能用对应的公钥解密。公钥可以发给任何人。但是,你把私钥偷偷藏在了裤裆里。不要丢失它。现在就简单了,元首把自己的公钥给了古德里安,古德里安再把自己的公钥给了元首,然后自己的私钥就偷偷留着了。一天,国家元首对古德里安说:“别这样,你天天不听我的手术!”然后用古德里安发的公钥加密,然后让空军去东线,把传单撒的满地都是,古德里安看到后,从裤裆里掏出私钥解密,然后马上请假回家休息。回去之前,他用元首的公钥加密了下面的信息:“笨蛋,我不再为你服务了!”,然后让空军回去,把它传遍柏林。元首看到后,从裤裆里掏出私钥解密:“妈的……”。尽管双方都无忧无虑地散发传单,但朱可夫只能一脸茫然地袖手旁观,对生活毫无热爱。因为用于解密的私钥从不流通,所以泄露的可能性为零。不过有一点值得指出,那就是无论是对称加密还是非对称加密,都经不起用机器强行猜测私钥。一年不行两年,两年不行二十年,二十年不行一百年。总是可以猜到的。这是没办法的事情。768bitRSA被KO的事件可以搜一下吧?接下来,我们从gayhub上挑了一个对称加密库,尝试了一个aes对称加密算法。地址如下:https://github.com/ivantcholakov/gibberish-aes-php直接gitclone到该目录下,然后测试代码如下:encrypt($data);$decrypted=$rsa->decrypt($encrypted);echo"encryptedAfter:".$encrypted.PHP_EOL;echo"解密后:".$decrypted.PHP_EOL;保存为test.php并运行,如下图所示:然后我们将上面的代码重复运行10万次,看看耗费了多少时间,这里只贴出关键部分的代码:加密($数据);$decrypted=$rsa->decrypt($encrypted);}$end=microtime(true);echo"总耗时:".($end-$start).PHP_EOL;然后,运行结果如下图(其实是因为等待时间太长,所以简单刷牙洗脸):别奇怪,钛合金狗的眼睛是不是没了瞎了吗?瞎了也没用,真的,代码没有问题,就是拖了这么久,没有办法,然后问题来了,挖掘机学习...对称加密不安全,非对称加密杀人,是有什么好的方法吗?废话,当然有。。。。最近开了个微信公众号,所有文章先发到这里
