当前位置: 移动技术网 > IT编程>脚本编程>Ruby > 一个简单的Ruby可逆加密解密类

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

2017年12月08日  | 移动技术网IT编程  | 我要评论

实现代码:

复制代码 代码如下:

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)

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网