Фактический код
В конструкторе мы принимаем следующее: класса:
Код: Выделить всё
DIGEST = MessageDigest.getInstance( properties.getProperty( "crypto.ch.alg", "SHA-256" ) );
Код: Выделить всё
byte[] byteArrayBeforeDigest = ccNumberStr.concat( salt ).getBytes( encoding );
DIGEST.update( byteArrayBeforeDigest );
byte[] byteArrayAfterDigest = DIGEST.digest();
DIGEST.reset();
byte[] encodedByteArray = Base64.encodeBase64( byteArrayAfterDigest );
String encodedString = new String( encodedByteArray );
return encodedString;
[*]String ccNumber = "4111123423453456";
[*]Объединение соли с приведенной выше строкой и последующее создание массива байтов с определенной кодировкой.
[*]Обновление byte[] с помощью дайджеста.
[*]Примените Base64.encodeBase64 к обновленному байту[]
[*]Результат иногда меняется, несмотря на тот же входной байт[]
< /ul>
Пожалуйста, помогите.
Подробнее здесь: https://stackoverflow.com/questions/784 ... se64-issue