Die Umwandlung einer hexadezimal-digest base64 in Ruby

Habe ich eine string-Repräsentation des MD5-hex-digest für eine Datei, die ich konvertieren möchte, um base64, um die Content-MD5, HTTP-header beim hochladen. Ist es ein klarer oder effizienteren Mechanismus zu tun, als die folgenden?

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
  • Sieht ziemlich klar und effizient zu mir. Das einzige, was, das könnte schneller/deutlicher ist eine native hook, der genau das tut die "hex_to_base64_digest" - Methode.
InformationsquelleAutor steveh7 | 2012-04-03
Schreibe einen Kommentar