Wie zum verschlüsseln von Daten in eine UTF-8-string mit OpenSSL::Cipher?

In eine Rails 3.0 (Ruby 1.9.2) app ich versuche, verschlüsselt Daten mit so etwas wie dieses:

cipher = OpenSSL::Cipher.new 'aes-256-cbc'
cipher.encrypt
cipher.key = cipher.random_key
cipher.iv = cipher.random_iv

encrypted = cipher.update 'most secret data in the world'
encrypted << cipher.final

Werden, die in einer UTF-8 Datenbank. Mein problem ist, dass

> encrypted.encoding
 => #<Encoding:ASCII-8BIT>

> encrypted.encode 'utf-8'
Encoding::UndefinedConversionError: "\xF7" from ASCII-8BIT to UTF-8

Wie bekomme ich eine UTF-8 verschlüsselte Zeichenfolge?

Schreibe einen Kommentar