© 2023 Feiniao, Inc. All rights reserved.

如何用ruby对文本进行对称加密解密 - 怎么用ruby对文本进行对称加密解密?

Ruby OpenSSL
对称加密解密是一种加密和解密数据的技术,即使用相同的密钥来加密明文数据和解密密文数据。对称加密解密的优点是处理速度很快,对于加密较短的消息时,其效率高。缺陷是安全性相对较弱,密钥可能被窃取或破解。
加密

require 'openssl'

# 查看更多的算法列表
puts OpenSSL::Cipher.ciphers

data = "hello"
cipher = OpenSSL::Cipher.new('aes-128-cbc') # 创建加密器实例
cipher.encrypt # 启用加密器
key = cipher.random_key # 生成随机密钥
iv = cipher.random_iv # 生成随机初始化向量

# 用update方法对data字符串进行加密
# 用加密器cipher对象的final方法将加密器状态完成,返回加密结束并追加到加密数据后面
encrypted = cipher.update(data) + cipher.final
puts encrypted
=> "T\xD2}\xA4\x86\x8EP\x14\xD2!\ed\ra\xE7\xEF"

解密

decipher = OpenSSL::Cipher.new('aes-128-cbc')
decipher.decrypt
decipher.key = key
decipher.iv = iv
plain = decipher.update(encrypted) + decipher.final
puts plain
=> "hello"