亲宝软件园·资讯

展开

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

人气:0
想了解一个简单的Ruby可逆加密解密类的相关内容吗,在本文为您仔细讲解Ruby可逆加密解密类的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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)

加载全部内容

相关教程
猜你喜欢
用户评论