在这般独身互联网网络运气好的的使苍老,新闻安全处所正适宜越来越要紧,we的所有格电视节目的总安排还应用杂多的加密办法来护卫队消息安全处所。,不管到什么程度你真的投合心意杂多的编码算法吗?是什么
公共用地的加密分为对称加密、非对称加密静止摄影散列算法(刚硬的来说,哈希未加密),本文we的所有格电视节目的总安排来懂一下对称加密

前进亲切的笔记

你读初中,受胎程序员的高贵气味,她成地赶上了独身。
但在阿谁时辰没某人有电话听筒。,你想和她在教室上前进新闻,它如同仅有的写在纸上。,以后在先生的帮忙下,缓行转变。最转折点的是,后果独身同窗太猎奇,偷偷注意到你加糖于的蜜糖,你可能性做错很酷吧?
作为逼近的程序员,你在周末立刻在教室上买了两本大字典。,从那时起,下面的使满足出如今你的小记录上。:

123:5 564:3 11:8

665:2 123:3 456:6 789:2...

123(代表翻页):5(代表行)

从此晚年的,我娣不再看着你了。(查字典太TM)!)。。。
自然,藏首诗也可以被期望一种加密办法。,先决条件是:你可以小诗。。。

对称加密

对称加密简略来说执意应用俱关键字加密和解密使满足,单方应用的钥匙不得不俱(没某人知情),独自地这般,we的所有格电视节目的总安排才干确保使满足的安全处所性(就像PASIN)俱。。
公共用地的对称编码算法有DES、3DES、AES、河豚等,它们的不均一绝不相当。。
这么,we的所有格电视节目的总安排方法像下面的小钞票俱在计算器中加密呢?

ASCII编码

各位都将会熟习ASCII,用7或8位表示点,比方65表示点A66表示点B,对应的二元系电视节目的总安排是:

使具有特征 二元系电视节目的总安排
A 01000001
B 01000010

非常手术的点

0 ^ 0 = 0;
0 ^ 1 = 1;
1 ^ 0 = 1;
1 ^ 1 = 0;

相等的或相等的0,差也许1,以后we的所有格电视节目的总安排要去^=贸易一下:

0 = 0 ^ 0;
0 = 1 ^ 1;
1 = 0 ^ 1;
1 = 1 ^ 0;

依然到达,更活泼的塑造,we的所有格电视节目的总安排呈现前述的方程为:A ^ B = C
只需we的所有格电视节目的总安排对后果C和B停止异或运算,we的所有格电视节目的总安排就能存在,对称加密的精粹就在在这一点上!

PHP完成独身最简略的对称编码算法

这是we的所有格电视节目的总安排的加密关键字
$key = '[LVn[O] 6e{y= q~(82)g]
$keyLen = 斯特伦($key)

预备加密使满足
$string = 每件东西好。,迎将假定发生程序员!'';

加密使满足上胶料
$stringLen = 斯特伦($string)

后果加密关键字缺勤长使满足,因而we的所有格电视节目的总安排不休反复关键字,直到大于或相等的加密使满足(自然,在AC中),这做错独身捏。
if($keyLen < $stringLen) {
    $key = str_pad($key, $stringLen, $key);
}

$content = '''';
//每个字节与对应的key做异或运算
for($i = 0; $i < $stringLen; $i++) {
    $content .= chr(ord($string[$i]) ^ ord($key[$i]));
}

//这个执意we的所有格电视节目的总安排加密后的密文
var_dump($content);
//出口:string(48) "��ы�ٸ�ؔű��������������ܤ������ў��Ƃ��ֶ���"

//为了提高可读性,一般会将加密后的使具有特征通过base64编码
var_dump(base64_encode($content));
//出口:string(64) "vujRi/XZuJPYlMWxl4+a2uLJy9jBosney+vcpNXrvffy0t3RnpX6xoK9uNa2ss7F"

//解密
$string = '''';
for($i = 0; $i < $stringLen; $i++) {
    $string .= chr(ord($content[$i]) ^ ord($key[$i]));
}

var_dump($string);
//出口:string(48) "每件东西好,迎将假定发生程序员!"

下面的加密和解密是完整俱的算法。,我合理的来陈列品,反复了一遍。
这般,we的所有格电视节目的总安排就可以易于处理地加密we的所有格电视节目的总安排的消息。,贴壁纸能以这种方法加密吗?自然。,归根结底,计算器外面有挑剔。,让我举独身简略的先例。。

加密图片

这是加密前的图像。

此图用于加密关键字

编码算法与前述的算法险乎划一。:

$file = ''/Users/zhjx922/Downloads/'';
$string = file_get_contents($file);
加密使满足上胶料
$stringLen = 斯特伦($string)

$file = ''/Users/zhjx922/Downloads/'';
$key = file_get_contents($file);
//key上胶料
$keyLen = 斯特伦($key)


后果加密关键字缺勤长使满足,因而we的所有格电视节目的总安排不休反复关键字,直到大于或相等的加密使满足(自然,在AC中),这做错独身捏。
if($keyLen < $stringLen) {
    $key = str_pad($key, $stringLen, $key);
}

$content = '''';
for($i = 0; $i < $stringLen; $i++) {
    $content .= chr(ord($string[$i]) ^ ord($key[$i]));
}

file_put_contents('''', $content);

$string = file_get_contents('''');

$content = '''';
for($i = 0; $i < $stringLen; $i++) {
    $content .= chr(ord($string[$i]) ^ ord($key[$i]));
}

file_put_contents('''', $content);

在内部地加密图片,但它毫做不到,这也象征,这做错独身好的加密办法(由于we的所有格电视节目的总安排不这般做)。,后果你知情JPG的妥协,校准算法,你将会可以出口一张完整在不同TH的图片。
在四周解密图片,可以翻开,它与以前的完整俱。。

在附近的DES,3DES、AES算法及倚靠算法

最近的,我追究了DES和3DES(Primple)的算法规律。,不管到什么程度对应的的算法完成绝不过于,尔后,受胎溃。,写文字分享。
静止摄影一件事是,请应用那不公开的用于加强语气的编码算法。,归根结底,这些公共算法经得起磨难。。前包括第一天和最后一天我在公司的指定遗传密码库中注意到了加密效能。,本文如同写得很深。,朝外朗读。,发觉加密使满足险乎未处理。。。。

迎将偶然发现我的公共电传代码,交流想出