sha1pass

来自「linux内核」· 代码 · 共 33 行

TXT
33
字号
#!/usr/bin/perluse bytes;use Digest::SHA1;use MIME::Base64;sub random_bytes($) {    my($n) = @_;    my($v, $i);        if ( open(RANDOM, '<', '/dev/random') ||	 open(RANDOM, '<', '/dev/urandom') ) {	read(RANDOM, $v, $n);    } else {	# No real RNG available...	srand($$ ^ time);	$v = '';	for ( $i = 0 ; $i < $n ; $i++ ) {	    $v .= ord(int(rand() * 256));	}    }    return $v;}($pass, $salt) = @ARGV;$salt = $salt || MIME::Base64::encode(random_bytes(6), '');$pass = Digest::SHA1::sha1_base64($salt, $pass);print '$4$', $salt, '$', $pass, "\$\n";

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?