Как получить верный md5 от строки с кириллицой в другой кодировке?

Ruby
приходит строка с кирилицей.
это значение участвует для просчёта check sum
На клиенте рассчитывают в win1251
На сервере в utf-8

Пытаемся сконвертить строку в cp1251 и рассчитать, но результат отличается в случае расчёта от оригинальной cp1251

#cp1251
DIgest::MD5.hexdigest("ф") #cp1251 => 584b8d4f423c8ff41e226ea5b979fbbe

#utf8
DIgest::MD5.hexdigest("ф".encode("cp1251")) #=> 97a6dd4c45b23db9c5d603ce161b8cab

Кстати "ф".encode("cp1251") #=>\xF4
  • Вопрос задан
  • 3094 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы