ruby AES加密解密
2015-11-09 16:46
537 查看
最近和京东合作做一个项目,在接口对接传递参数时,参数需要通过AES加密解密。
本来想到用gem
AES 加密
AES 解密
其中参数key,是aes加密解密的秘钥。encrypted_string和dicrypted_string是加密和解密字符串。
“AES-128-ECB”是秘钥长度算法模式,秘钥长度有128和256两种。算法模式有"CBC", "ECB","CFB","OFB"可以选择。
本来想到用gem
'aescrypt'处理,但是aescrypt的编码方式用的base64,而京东那边用的是16进制。所以就自己写了加密解密方法。
AES 加密
def aes_encrypt(key, encrypted_string) aes = OpenSSL::Cipher::Cipher.new("AES-128-ECB") aes.encrypt aes.key = key txt = aes.update(encrypted_string) << aes.final txt.unpack('H*')[0].upcase end
AES 解密
def aes_dicrypt(key, dicrypted_string) aes = OpenSSL::Cipher::Cipher.new("AES-128-ECB") aes.decrypt aes.key = key aes.update([dicrypted_string].pack('H*')) << aes.final end
其中参数key,是aes加密解密的秘钥。encrypted_string和dicrypted_string是加密和解密字符串。
“AES-128-ECB”是秘钥长度算法模式,秘钥长度有128和256两种。算法模式有"CBC", "ECB","CFB","OFB"可以选择。
相关文章推荐
- ruby 安装更新
- RVM 安装&下载Ruby
- 辛星浅析ruby下的mkmf.rb can't find header files for ruby at
- ruby调试/练习时的小技巧
- Ruby(rails)win环境下安装
- iOS讲解迷惑 -- CocoaPods使用步骤(已有Ruby环境):
- ruby date 时间星期操作
- #Mac OS X上 安装Ruby运行环境
- ruby 代码优化
- ruby 自带的全局变量
- ruby 学习日志1
- Run Jekyll on Windows Part 1
- Ubuntu 14.04 LTS 下用RVM 安装ruby时出错,提示:For 404 check your sources configured in...
- ruby 第五次作业 part 1(分类、排序)
- ruby on rails环境搭建
- ruby线程操作(续)同步线程
- ruby线程操作(续)显示和停止线程
- ruby之attr_reader,attr_writer,attr_accessor
- ruby在MAC上的安装环境
- 配置Ruby环境和Sinatra框架