nawet jeśli tak, to sugeruje jakiś dość brzydki kod rubinowy i nawet nie wspomina, że wymaga `` require \ 'digest / sha1 \' '-1
Rixius
16
Nie zapominaj, że stackoverflow ma zbyt wielu odwiedzających, dlaczego nie pokazujesz nam właściwego sposobu, aby to zrobić? Mniej krytyków, więcej przykładów kodu
Davidslv
1
co to za funkcja „serializacji”? to nie jest część rubinu. Co gorsza, ciąg przekazany do hexdigest wcale nie jest dynamiczny! Ta metoda zwróci ten sam hash bez względu na to, jakie dane mu podasz!
Blixxy,
2
Potrzebujesz require 'digest/sha1', aby użyć SHA1metody.
Odpowiedzi:
źródło
Digest::SHA1.base64digest 'foo'
Digest
jest częścią Ruby Standard Library ( ruby-doc.org/stdlib-1.9.2/libdoc/digest/rdoc/index.html ). Zawiera implementacje algorytmów wyznaczania wartości skrótu SHA1, SHA2, MD5 i innych.W przypadku skrótu zakodowanego w Base64, aby zweryfikować podpis Oauth, użyłem
źródło
Stworzyłem klejnot pomocnika, który jest prostym opakowaniem wokół kodu sha1
źródło
Gdzie „serialize” to jakaś funkcja użytkownika zdefiniowana w innym miejscu.
źródło
require 'digest/sha1'
, aby użyćSHA1
metody.