一個(gè)簡單的Ruby可逆加密解密類
更新時(shí)間:2014年05月27日 11:22:26 作者:
這篇文章主要介紹了一個(gè)簡單的Ruby可逆加密解密類,需要的朋友可以參考下
實(shí)現(xiàn)代碼:
復(fù)制代碼 代碼如下:
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編碼,才能保存到數(shù)據(jù)庫
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
測試代碼:
復(fù)制代碼 代碼如下:
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)
您可能感興趣的文章:
相關(guān)文章
windows下安裝ruby與rails時(shí)遇到的問題總結(jié)
這篇文章主要總結(jié)了windows下安裝ruby與rails時(shí)遇到的問題,本文總結(jié)的問題都是通過自己實(shí)踐所得來的,總結(jié)的還算是相對(duì)比較全面,需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。2017-04-04
Ruby元編程之夢(mèng)中情人method_missing方法詳解
這篇文章主要介紹了Ruby元編程之夢(mèng)中情人method_missing方法詳解,本文講解了我該怎么用 method_missing 、方法代理、define_method、什么時(shí)候用 method_missing、元方法等內(nèi)容,需要的朋友可以參考下2015-05-05
Windows下安裝配置Ruby的debug工具ruby-debug-base19
這篇文章主要介紹了Windows下安裝配置Ruby的debug工具ruby-debug-base19的方法,同時(shí)講解了Ruby的IDE RubyMine中的相關(guān)配置方法,需要的朋友可以參考下2016-03-03

