首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

PHP常见加密函数用法示例【crypt与md5】

分享给大家供大家参考,具体如下: 1.crypt()函数 crypt()函数用于返回使用DES、Blowfish或MD5算法加密过后的字符串,crypt(str,salt)接受2个参数,第1个为需要加密的字符串...php //使用crypt()函数进行加密 $password = 'zalou.cn'; //没有提供盐值 echo "加密前:"....$password; echo "加密后(无盐值):".crypt($password); echo "<hr "; //提供盐值 $salt = "good"; echo "加密后(有盐值):".crypt...总结:通过刷新前与刷新后可以发现,crypt()函数如果没有盐值加密后的字符串的第2个与第3个之间的字符串的8个字符串是由PHP自动生成的,每刷新一次就变一次;crypt()函数如果定义了盐值后,只会截取盐值的前...注意:crypt()函数是一种单向算法,没有相应的解密函数。PHP添加盐值默认使用DES加密,如果salt这个字符串以1开头,以 ? ?

2.5K21

利用Python 生成hash值

在Python中可以利用二个模块来进行: - crypt - hashlib 二、crypt (一)crypt的主要方法和常量 名称 类型 描述 crypt(…) 方法 对指定内容进行hash加密...返回可用加密算法的列表 METHOD_MD5 常量 md5加密算法 METHOD_SHA256 常量 sha256加密算法 METHOD_SHA512 常量 sha512加密算法 (二)使用说明与示例 使用crypt.crypt...(…)进行hash加密的时候,需要提供二个参数: - 加密内容 - salt 如果不特别指定salt,系统就会调用crypt.mksalt(…)生成一个salt 如果想要以特定的加密算法生成salt...就应该使用下面的命令: >>>salt = crypt.mksalt(crypt.METHOD_SHA512) >>> salt '$6$s8Q3eNP6urKZb3AK' 然后再进行数据加密: >>>...hash = crypt.crypt("helloworld",salt) >>> hash '$6$s8Q3eNP6urKZb3AK$L0O5cqHRU.1f170bV2KrjF3LkLL54So442TqUIsk.wYtCtOSD4Tyt

1.2K10

Bcrypt 和密码哈希简史

Crypt 是 Unix 的哈希函数。 Robert Morris 在 Unix 的第六版中发布了 CryptCrypt 基于 Hagelin 密码机(M-209)。Crypt 从未没有问题。...开发人员在第七版中重新发布了 Crypt ,加入了 12bit salt,并采用迭代的数据加密标准(DES)密码算法来从用户的密码创建哈希。...尽管 Crypt 当时是具有开创性的,但它最终变得过时。 Bcrypt 1997 年的密码哈希已经不再足够。互联网开始腾飞,家用计算机房间随处可见,数据泄露也随之而来。...1978年:PDP-11/70(模拟 M-209 的 crypt )→ 800个密码/秒 1988年:VAX 8600(优化的 des-crypt ,用于 Morris-worm )→ 45个密码/秒...1994年:60MHz Pentium(基于 MD5 的 crypt )→ 29.41 个密码/秒 1999年:John the Ripper(基于位切片的 DES-crypt )→ 214,000 个密码

11010

你的nginx登录认证安全吗?

从上面两张图可以看到htpasswd总共有4种加密算法,分别是MD5、bcrypt、CRYPT、SHA,在httpd-tools 2.2的版本中,默认使用的是CRYPT加密算法来进行密码加密的,而httpd-tools...2.4的版本中,默认是使用MD5来进行密码加密的 我上面的问题就是出在低版本中,使用CRYPT默认加密的情况下发生的 crypt是一个加密算法函数,它是基于DES算法,将字符串加密,函数定义如下: char...*crypt(const char *key, const char *salt); crypt在加密时,将key所指的字符串仅取前8个字符进行加密,超过8位的没有任何意义,这也就是为什么我上面最后一位输错了仍然可以进入...web页面的原因,因为指认前8位,后面是什么无所谓,都可以认证通过 crypt加密后的密文为13位,前面两个就是上面函数定义中的salt代表的字符串 然后有人说明明SHA比MD5加密要安全性高,为什么新版本中用

2.3K20
领券