Ak napíšem nasledujúci kód
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $raw, MCRYPT_MODE_CBC, $iv);
Ako písať v rubíne?
odpovede:
1 pre odpoveď č. 1Tu je Ruby ekvivalent pomocou 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 pre odpoveď č. 2
K tomu môžete použiť knižnicu openssl. Myslím, že tu potrebujete symetrické šifrovanie kľúčov:
http://stuff-things.net/2008/02/05/encrypting-lots-of-sensitive-data-with-ruby-on-rails/
0 pre odpoveď č. 3
Môcť ezcrypto Pomoc? Predvolene používa štandardné aes-128-cbc, ale pozná ďalšie algoritmy.
0 pre odpoveď č. 4
MCRYPT_RIJNDAEL_128 označuje blokovanie 16 možných bajtov a 3 veľkosti kľúčov
$ key ~ 16 bajtov (AES-128)
cipher = OpenSSL::Cipher::Cipher.new("aes-128-cbc")
$ key ~ 24 bajtov (AES-192)
cipher = OpenSSL::Cipher::Cipher.new("aes-192-cbc")
$ key ~ 32 bajtov (AES-256)
cipher = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
A potom môžeme použiť nasledujúci kód na vykonanie šifrovania
cipher.encrypt
cipher.key = key
cipher.iv = iv
encrypted = cipher.update(raw)
encrypted << cipher.final