您现在的位置是:网站首页> 编程资料编程资料
一个简单的Ruby可逆加密解密类_ruby专题_
2023-05-26
519人已围观
简介 一个简单的Ruby可逆加密解密类_ruby专题_
实现代码:
复制代码 代码如下:
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专题_
- Ruby 中一些百分号(%)的用法小结_ruby专题_
- Ruby On Rails上手笔记(安装使用全过程)_ruby专题_
- ruby安装gem包失败的通用解决方法_ruby专题_
- ruby使用restclient上传服务器本地文件示例_ruby专题_
- ruby实现石头剪刀布游戏示例_ruby专题_
- ruby线程实现生产者消费者问题示例(队列Queue实现线程同步)_ruby专题_
- ruby判断一个数是否为质数(素数)示例_ruby专题_
- ruby+nokogori抓取糗事百科前10页并存储进数据库示例_ruby专题_
- 淘宝网提供的国内RubyGems镜像简介和使用方法_ruby专题_
