私は、独自の文字列/ idを生成しようとしています。これは、比較的大きな文字列(ディレクトリパス名からなる)を与えられ、crypt関数を使用すると考えられています。しかし、それは期待通りには機能しません。おそらく私が理解できないからです。ここperl crypt関数で必要なヘルプ
コード&出力:
#!/usr/bin/perl
print "Enter a string:";
chomp(my $string = <STDIN>);
my $encrypted_string = crypt($string,'di');
print "\n the encrypted string is:$encrypted_string";
出力:それは最初の二つの文字列に同じ暗号化された文字列を返し、三番目のために異なっていた理由を私は理解できませんでした
$ perl crypt_test
Enter a string:abcdefghi
the encrypted string is:dipcn0ADeg0Jc
$
$ perl crypt_test
Enter a string:abcdefgh
the encrypted string is:dipcn0ADeg0Jc
$
$
$ perl crypt_test
Enter a string:abcde
the encrypted string is:diGyhSp4Yvj4M
$
。塩はすべて同じであることに注意してください。
あなたはユニークな文字列を作成したい場合は、Data :: UUIDを試してみてください。 Matの答えから分かるように、 'crypt()'関数は古く、限られています。 – frezik