Есть ли способ сократить сгенерированное значение java.security.MessageDigest? - PullRequest
1 голос
/ 26 сентября 2011

Если я создаю дайджест сообщения (для функции безопасности в моем приложении), используя этот код Java:

java.security.MessageDigest saltDigest = MessageDigest.getInstance("SHA-256");
saltDigest.update(UUID.randomUUID().toString().getBytes("UTF-8"));
String digest = String.valueOf(Hex.encode(saltDigest.digest()));

Я получаю очень длинную строку, подобную следующей:

29bcf49cbd57bbc41e601b399a93218ef99c6e36bae3598b5a5a64ac66d9c254

Не самая лучшая вещь для передачи URL!

Есть ли способ сократить это?

1 Ответ

2 голосов
/ 26 сентября 2011

Ну, это ожидаемый размер хэша SHA-256, верно?Вы всегда можете сделать

String sha256 = yourSha256Calculation();
sha256.substring(0,10);

, чтобы получить более короткую строку, но это не будет SHA-256.Чего вы действительно пытаетесь достичь?

SHA-256 - не самый короткий хэш, посмотрите для сравнения http://www.fileformat.info/tool/hash.htm?text=hello.

...