一个简单的Ruby可逆加密解密类

来源:爱站网时间:2021-10-08编辑:网友分享
爱站技术小编要给大家介绍一个简单的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     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)

以上内容就是爱站技术频道小编为大家分享的一个简单的Ruby可逆加密解密类,看完以上分享之后,大家应该都知道怎么操作了吧。

上一篇:rails常用数据库查询操作、方法浅析

您可能感兴趣的文章

相关阅读