Se scrivo il seguente codice
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $raw, MCRYPT_MODE_CBC, $iv);
Come scrivere in rubino?
risposte:
1 per risposta № 1Ecco l'equivalente di Ruby usando OpenSSL,
cipher = OpenSSL::Cipher::Cipher.new("aes-128-cbc")
cipher.encrypt
cipher.key = key
cipher.iv = iv
encrypted = cipher.update(raw)
encrypted << cipher.final
1 per risposta № 2
Puoi usare la libreria openssl per questo. Penso che ciò di cui hai bisogno è qui per la crittografia a chiave simmetrica:
http://stuff-things.net/2008/02/05/encrypting-lots-of-sensitive-data-with-ruby-on-rails/
0 per risposta № 3
Può ezcrypto Aiuto? Di default usa standard aes-128-cbc ma conosce altri algoritmi.
0 per risposta № 4
MCRYPT_RIJNDAEL_128 indica che sono possibili blocchi 16 byte e 3 dimensioni chiave
$ chiave ~ 16 byte (AES-128)
cipher = OpenSSL::Cipher::Cipher.new("aes-128-cbc")
$ chiave ~ 24 byte (AES-192)
cipher = OpenSSL::Cipher::Cipher.new("aes-192-cbc")
$ chiave ~ 32 byte (AES-256)
cipher = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
E poi possiamo usare il seguente codice per eseguire la crittografia
cipher.encrypt
cipher.key = key
cipher.iv = iv
encrypted = cipher.update(raw)
encrypted << cipher.final