ユーザー提供のファイルのファイル システム名に一意性を持たせるために、他のユーザー提供データ (この場合はユーザーの IP アドレスとランダムな整数) のハッシュ値を生成し、それをファイル名の前に付けます。このハッシュを実行するために SHA-1 アルゴリズムを選択しました。残念ながら、から返された文字列
md = MessageDigest.getInstance("SHA-1");
// Add values to the digest
String ipAddrHash = new String(md.digest());
...もちろん、あらゆる種類の奇妙なエキゾチックな文字が含まれており、そのほとんどはファイル名では許可されていません。
したがって、次のいずれかです。
- ハッシュ値文字列を、ファイル名に使用できる「通常の文字」を含む文字列に変換するにはどうすればよいですか?
- ファイル名ですぐに使用できる元に戻せない値を生成する、Java で使用できる単純な一方向関数はありますか?