Вы можете использовать класс MessageDigest для генерации вашего кода.Если бы я был вами, если бы на этапе предварительной обработки я знал длину каждой строки, я бы передал их как уникальную строку.Если строки, которые вы передаете, имеют разные случайные длины, которые не могут быть известны, я бы хэшировал их одну за другой, но мне нужно знать, хорошо ли синхронизированы исходная сущность и сущность получения, чтобы знать длину сообщенийпроходя между собой.
private static final char[] HEXADECIMAL = { '0', '1', '2', '3',
'4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
public String hash(String stringToHash) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(stringToHash.getBytes());
StringBuilder sb = new StringBuilder(2 * bytes.length);
for (int i = 0; i < bytes.length; i++) {
int low = (int)(bytes[i] & 0x0f);
int high = (int)((bytes[i] & 0xf0) >> 4);
sb.append(HEXADECIMAL[high]);
sb.append(HEXADECIMAL[low]);
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
//exception handling goes here
return null;
}
}