Преобразование шестнадцатеричного дайджеста в base64 в Ruby

У меня есть строковое представление шестнадцатеричного дайджеста MD5 для файла, который я хочу преобразовать в base64, чтобы использовать HTTP-заголовок Content-MD5 при его загрузке. Есть ли более четкий или более эффективный механизм, чем следующий?

def hex_to_base64_digest(hexdigest)
  [[hexdigest].pack("H*")].pack("m").strip
end

hex_digest = "65a8e27d8879283831b664bd8b7f0ad4"
expected_base64_digest = "ZajifYh5KDgxtmS9i38K1A=="

raise "Does not match" unless hex_to_base64_digest(hex_digest) === expected_base64_digest
10
задан steveh7 3 April 2012 в 04:12
поделиться