首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Perl密码加密超过8个字符?

如何使Perl密码加密超过8个字符?
EN

Stack Overflow用户
提问于 2019-04-19 07:40:27
回答 1查看 1.2K关注 0票数 2

当使用Perl 加密函数时,只对前8个字符进行加密。有办法让它使用更多的字符吗?

例如:

代码语言:javascript
复制
$crypted_password = crypt ("PassWord", "SALT");

代码语言:javascript
复制
$crypted_password = crypt ("PassWord123", "SALT");

返回完全相同的结果。$crypted_password具有完全相同的值。

希望使用加密,因为它是一些不可逆加密的快速简单解决方案,但这一限制并不能使它对任何严重的问题都有用。

EN

回答 1

Stack Overflow用户

发布于 2019-04-19 08:20:02

引用文献资料

传统上,结果是一个由13个字节组成的字符串:两个salt的第一个字节,然后是set [./0-9A-Za-z]的11个字节,只有前8个字节的明文很重要。但是,替代散列方案(如MD5)、高级安全方案(如C2)和非Unix平台上的实现可能会产生不同的字符串。

因此,crypt的确切返回值与系统有关,但它经常使用只查看密码的前8个字节的算法。这两个因素结合在一起,使得它成为便携密码加密的糟糕选择。如果您使用的系统具有更强的加密例程,并且不尝试在不兼容的系统上检查这些密码,那么您就没事了。但听起来你在用一个操作系统和旧的糟糕的DES例程。

因此,更好的选择是使用CPAN中的一个模块,该模块以一种可预测、更安全的方式进行加密。

有些搜索提供了一些有希望的查找选项(我没有使用这些选项,并且不能相互推荐;我只是在元数据上寻找有希望的关键字):

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55758301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档