英数字の文字列を最大20文字まで出力するハッシュアルゴリズムが必要です。 「英数字」の場合は、[a-zA-Z0-9]
を意味します。最大20文字の英数字出力を持つハッシュアルゴリズム
入力は、代替例では正規の形式でUUID S(例えば550e8400-e29b-41d4-a716-446655440000
)
あるこれらの制限を用いて文字列にSHA1またはMD5ハッシュを変換する方法がありますか?
ありがとうございました。
は、暗号的に安全である必要はありません
EDIT。衝突はデータを不正確にしますが、散発的に発生した場合、私はそのデータと一緒に暮らすことができます。切り捨てMD5またはSHA1は、衝突があまりにも頻繁に起こるようならば、私は知らない
EDIT 2
。今私はそれが20文字にMD5値またはSHA1値を切り捨てるほうが良いかどうか疑問に思っています。
これらのハッシュに望ましいプロパティはありますか?彼らは暗号で安全であるべきか、またはハッシュテーブルに十分に適しているでしょうか? – templatetypedef
SHA1またはMD5のハッシュ文字列を16進数(またはbase64)で印刷し、必要に応じて20文字に切り捨てることはできませんか? –
あなたの目標は何ですか? SHA1ハッシュの20文字の部分文字列を取るだけではうまくいかないのでしょうか? –