JOJO朦

H4ckBu7eer

识别算法编码方法

  1. 注意密文的位数

  2. 注意密文的特征(数字、符号、大小写、字母等)

  3. 看密文存在的地方(web、数据库、操作系统等应用)

下面列举了一些常见密文类型及特征:

密文类型格式举例说明
md5e10adc3949ba59abbe56e057f20f883e
49ba59abbe56e057
标准md5,32位或16位
md5(md5($pass))b80c9c5f86de74f0090fc1a88b27ef34第一次加密后,结果转换成小写,对结果再加密一次
md5(md5(md5($pass)))e57941ff9000aedb44eb2fa13f6e3e3c第一次加密后,结果转换成小写,对结果再加密一次,结果转换成小写,对结果再加密一次
MD5(MD5($pass))bb7ff6177ee612ef9dc6acd3a9ea7ea9第一次加密后,结果转换成大写,对结果再加密一次
MD5(MD5(MD5($pass)))36d627bd562e83ab995fb1fdf59c95d9第一次加密后,结果转换成大写,对结果再加密一次,结果转换成大写,对结果再加密一次
sha1f03e8a370aa8dc80f63a6d67401a692ae72fa530密文长度必须为40位
md4c0a27f801162b8b862cd5f5a1a66e85a32位
mysql29596332026fd206老MYSQL数据库用的,16位,且第1位和第7位必须为0-8
mysql5b34c662f720236babfc1b3f75203a80e1009844a新版本MySql数据库用的
md5($pass.$salt)9393dc56f0c683b7bba9b3751d0f6a46:OTD6v4c8I3Zid2AL在密码后附加一个字符串再加密。
md5($salt.$pass)5610604c157ef1d0fb33911542e5b06f:zg
在密码前附加一个字符串再加密。
md5(md5($pass).$salt);
VB;DZ
30e23a848506770eca92faed1bd9f3ec:gM5
cd1a0b2de38cc1d7d796b1d2ba6a954f:dc2bce
ad5f538296c0e05c26b85451fef9ea95:To!@35B%QS@)]U.DTy%fDm;SLwW58w
用于dz,vB等论坛程序,discuz的salt长度是6位,vBulletin的salt长度是3位或30位。
md5(md5($salt).md5($pass))
IPB
ac8dfc54ba110487b86ad6514328fd49:m@kZ}salt长度5位
sha1($salt.$pass)9cea8c041ce88e0b2066343d819113005b80421c:2391
9cea8c041ce88e0b2066343d819113005b80421c 2391
用于SMF
Md5(Phpbb3)$H$912345678Mw/BjmincvnSS94/STawW/Linux
Md5(Wordpress)$P$B12345678/c7bOMfLdQB9B/ypks8iB/Linux
Md5(Unix)$1$12345678$kbapHduhihjieYIUP66Xt/Linux
Des(Unix)af.kPXROLU9uYLinux
ntlm71dd0709187df68befd20973fc23f973Windows
Domain Cached Credentials1aefd85a507965a6f1719e951b81d0f7Windows
sha2568c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
sha256($pass.$salt)1ec82d9b57403e53fafcf0ad8a86db196d135ef7513443a985385d7c20bdbfbd:abcdabcd
sha256($salt.$pass)a6a4ccd14c6b21c63b8a0d38cfb7ead3e5032c58fdea7cd8a4da901db9462088:abcdabcd
$sha256$abcdabcd$a6a4ccd14c6b21c63b8a0d38cfb7ead3e5032c58fdea7cd8a4da901db9462088

非对称加密,公钥用来加密,私钥用于解密,下面这里应该是错的

RSA公钥加密用私钥解密
私钥加密用公钥解密

第一种用法:公钥加密,私钥解密。---用于加解密

第二种用法:私钥签名,公钥验签。---用于签名


有点混乱,不要去硬记,总结一下:

你只要想:

既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;

既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。


同一种道理,我在换种说法:

私钥和公钥是一对,谁都可以加解密,只是谁加密谁解密是看情景来用的:

第一种情景是签名,使用私钥加密,公钥解密,用于让所有公钥所有者验证私钥所有者的身份并且用来防止私钥所有者发布的内容被篡改.但是不用来保证内容不被他人获得。

第二种情景是加密,用公钥加密,私钥解密,用于向公钥所有者发布信息,这个信息可能被他人篡改,但是无法被他人获得。


比如加密情景:

如果甲想给乙发一个安全的保密的数据,那么应该甲乙各自有一个私钥,甲先用乙的公钥加密这段数据,再用自己的私钥加密这段加密后的数据.最后再发给乙,这样确保了内容即不会被读取,也不会被篡改.

原文来自非对称加解密,私钥和公钥到底是谁来加密,谁来解密_通过公钥可以算出私钥吗?

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言