ruby aes-256加密
时间: 2024-09-28 09:04:03 浏览: 37
在Ruby中,AES-256是一种高级加密标准,用于数据的安全加密。`openssl`库通常被用来支持AES-256的加密操作,因为它是Ruby的标准加密库。以下是一个简单的例子,展示了如何使用`openssl`库对明文进行AES-256加密和解密:
```ruby
require 'openssl'
# 生成一个随机的256位密钥
key = OpenSSL::Cipher.new('AES-256-CBC').random_key
# 创建一个新的cipher对象,并设置模式CBC,填充方式PKCS7
cipher = OpenSSL::Cipher.new('AES-256-CBC')
cipher.encrypt
# 获取IV(初始化向量),也可以自己指定,但这里随机生成
iv = cipher.random_iv
# 加密数据
plaintext = "Hello, AES-256!"
ciphertext = cipher.update(plaintext) + cipher.final
# 解密过程
cipher.decrypt
decrypted_text = cipher.update(ciphertext) + cipher.final
puts "Original Text: #{plaintext}"
puts "Encrypted Text: #{ciphertext.unpack("H*")[0]}" # 输出十六进制格式的密文
puts "Decrypted Text: #{decrypted_text}"
```
阅读全文