У меня есть требование «Выполнить хэширование SHA1 в байтах строки UTF-8».Я не уверен, как получить байты UTF-8.Вот пример того, что я должен получить:
original = "http://www.provider.com/article?query=mysearch&abcd&1300459467&our secret key"
#Perform the sha1 hashing on the UTF-8 bytes of this string, to get ...
expected_hashed = "99802fec87b6ef1d45bd07f3053d13 6cfcfbdf0b"
#... which is a 160 byte fingerprint.
#You need to then take the 20 byte representation of this string (make sure you're
#not just taking the hex string), and base 64 encode that.
expected_encoded = "mYAv7Ie27x1FvQfzBT0TbPz73ws="
Получается от original
до expected_hashed
, что вызывает у меня проблему: я не знаю, как получить UTF-8 байт.Я делаю хэширование SHA1 как Digest::SHA1.digest(unhashed_string)
, и я не уверен на 100%, что это подходит и в этом случае.: / Я также не уверен в том, каким будет «20-байтовое представление этой строки».