由於客戶需求要串接新竹貨運,但是我上網看了看都沒有相對應的中文文獻
於是自己摸索了搞了半天總算是踹出了正確答案
DES CBC只是其中一種可逆的加密方式 其他還有 DES ,AES, DES EDE3 CBC有的沒的加密方式
組成一組DES CBC需要一個向量IV 一個金鑰KEY
然後把你要加密的字串丟進去加密
有IV 跟 KEY就可以回推出原本的字串
#加密
def encode(str,key)
des = OpenSSL::Cipher.new("DES-CBC")
des.encrypt
des.key = key
des.iv = "11223344566789".force_encoding("UTF-8")
cipher = des.update(str)
cipher << des.final
@str = Base64.encode64(cipher) #加密結果
end
#解密
def decode(str,key)
str = Base64.decode64(str)
des = OpenSSL::Cipher.new("DES-CBC")
des.decrypt
des.key = key
des.iv = "11223344566789".force_encoding("UTF-8")
@X = des.update(str) + des.final #解密結果
end
帶入參數 str是要加密的字串
帶入參數 key是要加密的字串(在這裡事變量 因此才會帶入)
在這裡 全部都要用utf8編碼
加密結果要轉64bit
解密就先把得到的字串先從64bit 轉出來(專業說法我也不知道)
就降~
留言列表