Как хешировать строку в Android? - PullRequest
49 голосов
/ 14 октября 2010

Я работаю над приложением для Android и у меня есть пара строк, которые я хотел бы зашифровать перед отправкой в ​​базу данных. Я хотел бы, чтобы что-то было безопасным, простым в реализации, генерировало бы одну и ту же вещь каждый раз, когда ему передавались одни и те же данные, и, предпочтительно, получало бы строку, которая остается постоянной длины, независимо от того, насколько велика передаваемая строка. Может быть, я ищу хеш.

Ответы [ 12 ]

1 голос
/ 23 ноября 2016

, если вы используете гуаву:

public String generateMd5(String input) {
    HashFunction hf = Hashing.md5();
    Hasher hasher = hf.newHasher();

    HashCode hc = hasher.putString(input, StandardCharsets.UTF_8).hash();

    return hc.toString();
}
1 голос
/ 01 апреля 2013
MessageDigest md = MessageDigest.getInstance("MD5"); 
md.update('yourstring');
byte[] digest = md.digest();
StringBuffer sb = new StringBuffer();
for (byte b : digest) {
    sb.append(String.format("%02x", (0xFF & b)));
}

Уже поздно для автора, но перед этим я получаю Integer.toHexString(0xff&b), который удаляет начальные 0 из шестнадцатеричной строки.Это заставляет меня долго бороться.Надеюсь, полезно для некоторых парней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...