概述
实现代码:
复制代码 代码如下:
class Des
require 'openssl'
require 'base64'
ALG = 'DES-EDE3-CBC'
KEY = "mZ4Wjs6L"
DES_KEY = "nZ4wJs6L"
#加密
def encode(str)
des = OpenSSL::Cipher::Cipher.new(ALG)
des.pkcs5_keyivgen(KEY, DES_KEY)
des.encrypt
cipher = des.update(str)
cipher << des.final
return Base64.encode64(cipher) #Base64编码,才能保存到数据库
end
#解密
def decode(str)
str = Base64.decode64(str)
des = OpenSSL::Cipher::Cipher.new(ALG)
des.pkcs5_keyivgen(KEY, DES_KEY)
des.decrypt
des.update(str) + des.final
end
end
测试代码:
复制代码 代码如下:
require 'pp'
des = Des.new
str = '1234567890123456'
pp '=====encrypt====='
str = des.encode(str)
pp str
pp '=====decrypt====='
pp des.decode(str)
des = Des.new
str = '1234567890123456'
pp '=====encrypt====='
str = des.encode(str)
pp str
pp '=====decrypt====='
pp des.decode(str)
最后
以上就是悲凉牛排为你收集整理的一个简单的Ruby可逆加密解密类的全部内容,希望文章能够帮你解决一个简单的Ruby可逆加密解密类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复