Я пытаюсь зашифровать полезную нагрузку JWT в javascript, а затем расшифровать ее в моем Ruby приложении. Я нашел простой Ruby инструмент шифрования / дешифрования, но я не знаю, как сделать шифрование на стороне javascript. Есть ли способ выполнить sh это шифрование в javascript, чтобы мой Ruby бэкэнд мог его расшифровать?
def encrypt(key)
cipher = OpenSSL::Cipher.new('DES-EDE3-CBC').encrypt
cipher.key = Digest::SHA1.hexdigest key
s = cipher.update(self) + cipher.final
s.unpack('H*')[0].upcase
end
def decrypt(key)
cipher = OpenSSL::Cipher.new('DES-EDE3-CBC').decrypt
cipher.key = Digest::SHA1.hexdigest key
s = [self].pack("H*").unpack("C*").pack("c*")
cipher.update(s) + cipher.final
end
puts plain = 'confidential' # confidential
puts key = 'secret' # secret
puts cipher = plain.encrypt(key) # 5C6D4C5FAFFCF09F271E01C5A132BE89
puts cipher.decrypt('guess') # raises OpenSSL::Cipher::CipherError
puts cipher.decrypt(key) # confidential