Проблема с кодировкой Base64 в Base64JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с кодировкой Base64 в Base64

Сообщение Anonymous »

У нас есть приложение (на языке программирования Java), в котором мы преобразуем номер кредитной карты в хеш-строку для сохранения его в базе данных. Мы начали сталкиваться с проблемой, когда org.apache.commons.codec.binary.Base64.encodeBase64(byte[]) возвращает разные выходные данные byte[] для одного и того же входного byte[]. Проблема случайная, иногда она генерирует одно и то же, а иногда возвращает разные. Кроме того, мы наблюдаем это только в определенной среде.
Фактический код
В конструкторе мы принимаем следующее: класса:

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»