前端之家收集整理的这篇文章主要介绍了
现代Unix/Linux系统上的密码是否仍然限制在8个字符?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
几年前,以前的情况是Unix密码限制在8个字符,或者如果您的密码长于8个字符,额外的将不会有任何区别。
大多数现代Unix / Linux系统还是这样吗?
如果是这样,大多数系统在更长的密码变得可能的时候呢?
有没有一个简单的方法来判断一个给定的系统是否支持更长的密码,如果是这样,有效的最大值(如果有的话)会是什么?
我已经做了一些关于这个话题的网页搜索,找不到任何明确的东西;其中大部分是从二十世纪二十年代初,当时我认为8个字符的极限仍然很常见(或普遍足以保证坚持这个限制)。
@H_
404_10@
在glibc2(任何现代的Linux发行版)中,密码加密
功能可以使用MD5(由魔术盐前缀引发),然后将其视为所有输入字符(见
man 3 crypt)。对于您的系统的简单测试,您可以尝试如下:
#!/bin/perl -w
my $oldsalt = '@@';
my $md5salt = '$1$@@$';
print crypt("12345678",$oldsalt) . "\n";
print crypt("123456789",$oldsalt) . "\n";
print crypt("12345678",$md5salt) . "\n";
print crypt("12345678extend-this-as-long-as-you-like-0",$md5salt) . "\n";
print crypt("12345678extend-this-as-long-as-you-like-1",$md5salt) . "\n";
(在我的系统上给出)
@@nDzfhV1wWVg
@@nDzfhV1wWVg
$1$@@$PrkF53HP.ZP4NXNyBr/kF.
$1$@@$4fnlt5pOxTblqQm3M1HK10
$1$@@$D3J3hluAY8pf2.AssyXzn0
但是,这是一个非标准的扩展 – POSIX does not define it。