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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint ziemlich klar und effizient zu mir. Sie können die call-Streifen durch Angabe von 0 zählen für die 'm' pack-format (wenn count 0 ist, wird kein Zeilenvorschub Hinzugefügt werden, finden Sie in RFC 4648)