对于我目前正在进行的一个项目,我们正在尝试将一个旧的PHP/MySQL服务器迁移到一个新的Django/PostgreSQL服务器。在PHP服务器上,我们目前正在通过获取一个字符串来管理密码,对其进行sha1()处理,然后将其与数据库进行比较。我知道python has a sha1() function,但我对密码学的了解还不够,无法知道这些函数在实现上是否有所不同,以及PHP版本与Django版本的比较。有人知道吗?在
$ python
>>> import hashlib
>>> hashlib.sha1("The quick brown fox jumps over the lazy dog").hexdigest()
'2fd4e1c67a2d28fced849ee1bb76e7391b93eb12'
>>> exit()
$ php -a
php > echo SHA1("The quick brown fox jumps over the lazy dog");
2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
PHP中的}。在
sha1
接受可选的第二个参数($raw_output;默认值) 错误)。在Python中有两个单独的方法来处理这个问题:hexdigest
和{案例1
对于
$raw_output
设置为false
,我们使用hexdigest
。在在PHP中:
在Python中:
^{pr2}$案例2
对于
$raw_output
设置为true
,我们使用digest()
在PHP中:
在Python中:
PHP和Python的SHA1实现肯定会产生相同的结果。在
亲自看看:
相关问题 更多 >
编程相关推荐