अस्पष्ट पुस्तकालय एक अच्छा सीबीसी algo प्रदान करता है ...रूबी openssl में समकक्ष एईएस?
// In Jascascript
GibberishAES.enc("Made with Gibberish\n", "password");
// Outputs: "U2FsdGVkX1+21O5RB08bavFTq7Yq/gChmXrO3f00tvJaT55A5pPvqw0zFVnHSW1o"
# On the command line
echo "U2FsdGVkX1+21O5RB08bavFTq7Yq/gChmXrO3f00tvJaT55A5pPvqw0zFVnHSW1o" |
openssl enc -d -aes-256-cbc -a -k password
मैं कैसे रूबी में इस डिक्रिप्शन कर सकते हैं? सीधा तरीका काम नहीं करता है ...
require 'openssl'
def aes(m,k,t)
(aes = OpenSSL::Cipher::Cipher.new('aes-256-cbc').send(m)).key = k
aes.update(t) << aes.final
end
def encrypt(key, text)
aes(:encrypt, key, text)
end
def decrypt(key, text)
aes(:decrypt, key, text)
end
def p k
Digest::SHA256.digest(k) ## what goes here???
end
require 'base64'
def t x
## also tried.. simply returning x...
Base64.decode64(x)
end
text = "U2FsdGVkX1+21O5RB08bavFTq7Yq/gChmXrO3f00tvJaT55A5pPvqw0zFVnHSW1o"
pass = "password"
decrypt(p(pass), t(text))
पर इसे जांचें iv सेट नहीं हो रहा है ... इसका डिफ़ॉल्ट मान क्या है? मैंने इसे अतीत में हल किया है। इस पर फिर से ठोकर खा रहा है ... aaargh ... –