原始字符串:
{
"at": "2486",
"pwd": "96E79218965EB72C92A549DD5A330112",
"vc": "147514",
"v": "3.0"
}
加密算法:
AES,DES,RC4,Rabbit,TripleDes 密码:pppppxxxxxx
以AES为例:
正确的目的值:
U2FsdGVkX19BZNXyLmcVSpM6OWxWP2V/TBm9+MICBJmwnr5RveOkF5VwMY+cdNjo
Qb1wm3vmc4blW0VlmQIW9jnHJgHxu4PCiZIUxvb89+i/FrcZC3p/zK86eaebRlyG
CxGEa76s1Kq5YDNlkjRDNqXpvoz5yklu9sx8PRKB9Q9HyQjwf3zn9aA4oOB6nirV
6Wh7isYYjRLvaQ/skECthA==
逆向解密验证:
1、正确的目的值解密:正确。
2、从尾部去除一部分解密:
U2FsdGVkX19BZNXyLmcVSpM6OWxWP2V/TBm9+MICBJmwnr5RveOkF5VwMY+cdNjo
Qb1wm3vmc4blW0VlmQIW9jnHJgHxu4PCiZIUxvb89+i/FrcZC3p/zK86eaebRlyG
CxGEa76s1Kq5YDNlkjRDNqXpvoz5yklu9sx8PRKB9Q9HyQjwf3zn9aA4oOB6nirV
(去除部分:6Wh7isYYjRLvaQ/skECthA== :去除部分 )
结果:
{
"at": "2486",
"pwd": "96E79218965EB72C92A549DD5A330112",
"vc": "147514",
"v"
3、修改尾部:
修改最后一个尾部:
U2FsdGVkX19BZNXyLmcVSpM6OWxWP2V/TBm9+MICBJmwnr5RveOkF5VwMY+cdNjo
Qb1wm3vmc4blW0VlmQIW9jnHJgHxu4PCiZIUxvb89+i/FrcZC3p/zK86eaebRlyG
CxGEa76s1Kq5YDNlkjRDNqXpvoz5yklu9sx8PRKB9Q9HyQjwf3zn9aA4oOB6nirV
(6Wh7isYYjRLvaQ/skECthA== 修改为:6Wh7isYYjRLvaQ/skECthA=X )
结果:
{
"at": "2486",
"pwd": "96E79218965EB72C92A549DD5A330112",
"vc": "147514",
"v": "3.0"
}
修改最后2个尾部:
U2FsdGVkX19BZNXyLmcVSpM6OWxWP2V/TBm9+MICBJmwnr5RveOkF5VwMY+cdNjo
Qb1wm3vmc4blW0VlmQIW9jnHJgHxu4PCiZIUxvb89+i/FrcZC3p/zK86eaebRlyG
CxGEa76s1Kq5YDNlkjRDNqXpvoz5yklu9sx8PRKB9Q9HyQjwf3zn9aA4oOB6nirV
(6Wh7isYYjRLvaQ/skECthA== 修改为:6Wh7isYYjRLvaQ/skECthAXX )
结果:
{
"at": "2486",
"pwd": "96E79218965EB72C92A549DD5A330112",
"vc": "147514",
"v
4、尾部增加字符:
U2FsdGVkX19BZNXyLmcVSpM6OWxWP2V/TBm9+MICBJmwnr5RveOkF5VwMY+cdNjo
Qb1wm3vmc4blW0VlmQIW9jnHJgHxu4PCiZIUxvb89+i/FrcZC3p/zK86eaebRlyG
CxGEa76s1Kq5YDNlkjRDNqXpvoz5yklu9sx8PRKB9Q9HyQjwf3zn9aA4oOB6nirV
6Wh7isYYjRLvaQ/skECthA==w11111111111
结果:
{
"at": "2486",
"pwd": "96E79218965EB72C92A549DD5A330112",
"vc": "147514",
"v": "3.0"
}
5、从头部去除一部分解密:
(去除部分:U2FsdGVkX19BZNXyLmcVSp:去除部分 )M6OWxWP2V/TBm9+MICBJmwnr5RveOkF5VwMY+cdNjo
Qb1wm3vmc4blW0VlmQIW9jnHJgHxu4PCiZIUxvb89+i/FrcZC3p/zK86eaebRlyG
CxGEa76s1Kq5YDNlkjRDNqXpvoz5yklu9sx8PRKB9Q9HyQjwf3zn9aA4oOB6nirV
6Wh7isYYjRLvaQ/skECthA==
结果:
无
6、从中间去除一部分解密:
U2FsdGVkX19BZNXyLmcVSpM6OWxWP2V/TBm9+MICBJmwnr5RveOkF5VwMY+cdNjo
(去除部分:Qb1wm3vmc4blW0Vlm :去除部分 )QIW9jnHJgHxu4PCiZIUxvb89+i/FrcZC3p/zK86eaebRlyG
CxGEa76s1Kq5YDNlkjRDNqXpvoz5yklu9sx8PRKB9Q9HyQjwf3zn9aA4oOB6nirV
6Wh7isYYjRLvaQ/skECthA==
结果:
无
7、修改中间部分:
U2FsdGVkX19BZNXyLmcVSpM6OWxWP2V/TBm9+MICBJmwnr5RveOkF5VwMY+cdNjo
(Qb1wm3vmc4blW0Vlm :修改为:Xb1wm3vmc4blW0Vln)QIW9jnHJgHxu4PCiZIUxvb89+i/FrcZC3p/zK86eaebRlyG
CxGEa76s1Kq5YDNlkjRDNqXpvoz5yklu9sx8PRKB9Q9HyQjwf3zn9aA4oOB6nirV
6Wh7isYYjRLvaQ/skECthA==
结果:
无
扩展:逐个还原值,只要存在修改的字符,就无法解密。
BASE64:
密文:
ewogICAgImFjY291bnQiOiAiQi0wMDI0ODYiLAogICAgInBhc3N3b3JkIjogIjk2
RTc5MjE4OTY1RUI3MkM5MkE1NDlERDVBMzMwMTEyIiwKICAgICJ2Q29kZSI6ICIx
NDc1MTQiLAogICAgImFwcFZlcnNpb24iOiAiMy4wIgp9
密文首尾加KEY,再加密
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ewogICAgImFjY291bnQiOiAiQi0wMDI0ODYiLAogICAgInBhc3N3b3JkIjogIjk2
RTc5MjE4OTY1RUI3MkM5MkE1NDlERDVBMzMwMTEyIiwKICAgICJ2Q29kZSI6ICIx
NDc1MTQiLAogICAgImFwcFZlcnNpb24iOiAiMy4wIgp9
YYYYYYYYYYYYYYYYYYYYYYYYYYYYY
二次密文:
CQkJWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKCQkJZXdvZ0lDQWdJbUZq
WTI5MWJuUWlPaUFpUWkwd01ESTBPRFlpTEFvZ0lDQWdJbkJoYzNOM2IzSmtJam9n
SWprMgoJCQlSVGM1TWpFNE9UWTFSVUkzTWtNNU1rRTFORGxFUkRWQk16TXdNVEV5
SWl3S0lDQWdJQ0oyUTI5a1pTSTZJQ0l4CgkJCU5EYzFNVFFpTEFvZ0lDQWdJbUZ3
Y0ZabGNuTnBiMjRpT2lBaU15NHdJZ3A5CgkJCVlZWVlZWVlZWVlZWVlZWVlZWVlZ
WVlZWVlZWVlZ
3DES:
密码偏移量:12~!jd4232afle()9093
补码方式:PKCS5Padding
加密结果编码:16进制
结果:
8815ad9a6a5bc6987ef86434ad3bdc6c8f7ba3b7bc0a293c4e61ec92418ab4899c32151448b8929894347f473e795fa360163b87e8ae04c8325eb1a4f14b29354ac3fd980a4e3082d2741de3f927fb74cf96c906a9e92cdabc48c630b210105876c6c4c9848dcce4bb5b6507df6ec867d618297cec73c6fc723c51736565f198c3f29775b1d7ab26dc8a7201d4ca96c2a98df4d4d540c998f61c87ade9d9cd1a4c371c36ca60efbc385ebc7d9dd46500a23a5a52914b5e00fed718a98a33545c6c703eff06529b4b4d31715b8ab6c97c0f67b15f0ec4299b
加密结果编码:base64
结果:
iBWtmmpbxph++GQ0rTvcbI97o7e8Cik8TmHskkGKtImcMhUUSLiSmJQ0f0c+eV+jYBY7h+iuBMgyXrGk8UspNUrD/ZgKTjCC0nQd4/kn+3TPlskGqeks2rxIxjCyEBBYdsbEyYSNzOS7W2UH327IZ9YYKXzsc8b8cjxRc2Vl8ZjD8pd1sderJtyKcgHUypbCqY301NVAyZj2HIet6dnNGkw3HDbKYO+8OF68fZ3UZQCiOlpSkUteAP7XGKmKM1RcbHA+/wZSm0tNMXFbirbJfA9nsV8OxCmb
验证:
1、首字母变更:
(i 变更后的字符为:o)BWtmmpbxph++GQ0rTvcbI97o7e8Cik8TmHskkGKtImcMhUUSLiSmJQ0f0c+eV+jYBY7h+iuBMgyXrGk8UspNUrD/ZgKTjCC0nQd4/kn+3TPlskGqeks2rxIxjCyEBBYdsbEyYSNzOS7W2UH327IZ9YYKXzsc8b8cjxRc2Vl8ZjD8pd1sderJtyKcgHUypbCqY301NVAyZj2HIet6dnNGkw3HDbKYO+8OF68fZ3UZQCiOlpSkUteAP7XGKmKM1RcbHA+/wZSm0tNMXFbirbJfA9nsV8OxCmb
解密:
D�d����Yuot;a": "2486",
"pwd": "96E79218965EB72C92A549DD5A330112",
"vc": "147514",
"v": "3.0"
}
2、首字母变更:
(iB 变更后的字符为:oo)BWtmmpbxph++GQ0rTvcbI97o7e8Cik8TmHskkGKtImcMhUUSLiSmJQ0f0c+eV+jYBY7h+iuBMgyXrGk8UspNUrD/ZgKTjCC0nQd4/kn+3TPlskGqeks2rxIxjCyEBBYdsbEyYSNzOS7W2UH327IZ9YYKXzsc8b8cjxRc2Vl8ZjD8pd1sderJtyKcgHUypbCqY301NVAyZj2HIet6dnNGkw3HDbKYO+8OF68fZ3UZQCiOlpSkUteAP7XGKmKM1RcbHA+/wZSm0tNMXFbirbJfA9nsV8OxCmb
解密:
&�]�M0[�ot;a": "2486",
"pwd": "96E79218965EB72C92A549DD5A330112",
"vc": "147514",
"v": "3.0"
}
3、更改前部的一个字符:
iBW(t 变更后的字符为:o)mmpbxph++GQ0rTvcbI97o7e8Cik8TmHskkGKtImcMhUUSLiSmJQ0f0c+eV+jYBY7h+iuBMgyXrGk8UspNUrD/ZgKTjCC0nQd4/kn+3TPlskGqeks2rxIxjCyEBBYdsbEyYSNzOS7W2UH327IZ9YYKXzsc8b8cjxRc2Vl8ZjD8pd1sderJtyKcgHUypbCqY301NVAyZj2HIet6dnNGkw3HDbKYO+8OF68fZ3UZQCiOlpSkUteAP7XGKmKM1RcbHA+/wZSm0tNMXFbirbJfA9nsV8OxCmb
解密:
[zt�۲k�qujt;a": "2486",
"pwd": "96E79218965EB72C92A549DD5A330112",
"vc": "147514",
"v": "3.0"
}
总字符数量不变的情况下,更改字符后,其他未更改部分仍然可以解析出内容。
4、无论多一个还是少一个字符,均无法解析
总结密文分析:
1、一层的加密中,AES,DES,RC4,Rabbit,TripleDes 算法中对密文后部的增减和更改 均可以正确的解析未变动部分。但是DES和TripleDes 两种加密算法 尾部命令的变更将会影响更多正确部分的内容值。对前部分的变更都将取不到值。
2、一层加密算法3DES 对密文内容的更改,未做更改部分仍然可以解析出内容,当对整个字符串长度来说多或者少字符的时候,均无法解析。
解决方案:
1、做两次加密;
2、使用非对称方式;
3、加密规则中增加可破解端的密码串叠加,例如:AES,DES,RC4,Rabbit,TripleDes 算法中对密文后部的增减和更改 均可以正确的解析未变动部分,那么AES密文前部分在叠加随机和约定要的其他AES密文的后部分。
4、对公钥进行排序和规则算法;
5、增加时间戳。