美文网首页
ruby加密

ruby加密

作者: yaya_pangdun | 来源:发表于2016-06-22 18:40 被阅读452次

1.简单使用

require "openssl"

2. 生成一个Key(RSA算法)

#生成一个2048位的RSA key
key = OpenSSL::PKey::RSA.new 2048
#私钥
open 'private_key.pem', 'w' do |io|
  io.write key.to_pem
end
#公钥
open 'public_key.pem', 'w' do |io|
  io.write key.public_key.to_pem
end
##将RSA Key加密
cipher = OpenSSL::Cipher.new 'AES-128-CBC'
pass_phrase = 'my secure pass phrase goes here'

key_secure = key.export cipher, pass_phrase
#将加密的RSA Key存储起来
open 'private.secure.pem', 'w' do |io|
  io.write key_secure
end

##加载RSA key
#私钥
key2 = OpenSSL::PKey::RSA.new File.read 'private_key.pem'
#公钥
key3 = OpenSSL::PKey::RSA.new File.read 'public_key.pem'
##加载加密后的RSA key
key4_pem = File.read 'private.secure.pem'
key4 = OpenSSL::PKey::RSA.new key4_pem, pass_phrase

加密函数

def aes128_encrptt(key, data)
  aes = OpenSSL::Cipher::AES.new("128-ECB")
  #aes = OpenSSL::Cipher.new("AES-128-ECB")

  aes.key = key

  txt = aes.update(data) + aes.final()

  return txt.unpack('H*')[0].upcase
end

解密函数

def aes128_encrypt(key, data)
  aes = OpenSSL::Cipher::AES.new("128-ECB")
  #aes = OpenSSL::Cipher.new("AES-128-ECB")

  aes.decrpyt

  aes.key = key

  return aes.update([data].pack('H*')) + aes.final()
end

相关文章

  • ruby加密

    1.简单使用 2. 生成一个Key(RSA算法) 加密函数 解密函数

  • ruby des解密

    后端用随手百度来代码写了个des加密,能跑而不知其所以然,ruby适配其进行解密,话不多说,直接上代码:ruby代...

  • 微信小程序Ruby版本加密信息解密实例

    wechat-little-program-aes128 微信小程序Ruby版本加密信息解密实例 用法实例 ind...

  • ruby加密解密的gem:aes

    https://rubygems.org/gems/aes参考上面的链接就OK了。

  • ruby下使用rsa非对称加密

    license 是通过私有加密的文件,下面程序是在程序中使用公钥解密,然后进行相应验证操作

  • java->ruby 双边对称加密

    前一阵遇到一个需求,要求做一个单点登录,虽然单点登录不难但是,由于对方的api比较老旧只能采用java_api 获...

  • leancloud 密码加密算法 Java版

    在leancloud的后台发现导出数据的时候密码加密算法只提供了Ruby和C##的,现在自己写的后台使用的Java...

  • Cocoapods笔记

    一、安装 查看ruby的版本 ruby -v 查看ruby的源 ruby source -l 切换ruby的源...

  • PHP-RSA加密解密

    mark下,因为公司项目服务器是用Ruby写的,用的是RSA加密,就尝试下用PHP去读取。T.T,感觉PHP写法比...

  • Ruby基础学习笔记

    目录 Ruby的基本概念Ruby的控制语句Ruby的循环Ruby的数组与散列 Ruby的基本概念 运行Ruby的方...

网友评论

      本文标题:ruby加密

      本文链接:https://www.haomeiwen.com/subject/zakndttx.html