当前位置: 首页 > 编程笔记 >

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

微生新翰
2023-03-14
本文向大家介绍一个简单的Ruby可逆加密解密类,包括了一个简单的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)

 类似资料:
  • 我有Java代码片段负责加密和解密,需要在Ruby中转换。在这里张贴之前,我通过了4个链接,但没有运气。 AES-CBC-PKCS5Padding-Encrypt-in-Java-Decrypt-in-Ruby AES-CBC-PKCS5Padding-在Ruby-for-Rails中实现 gist.github.com Ruby中的对称加密算法 为了得到相同的结果,我编写了下面的代码 我的努力:

  • 我目前正在学习Ruby,并尝试过简单密码挑战。我现在正在研究下面的解决方案,并试图通过逆向工程来理解这个解决方案背后的思维过程。以下是解决方案的链接。我将详细说明我对每个代码段的理解。如果他们不对,你能纠正我吗?谢了!https://extrym.io/tracks/ruby/extryes/simple-cipher/solutions/B200C3D9F10E497BBE2CA0D826DF2

  • 我有一段Java代码,负责加密和解密,需要将其转换为Ruby。在这里发布之前,我通过了4个链接,但没有运气。 aes-cbc-pkcs5padding-encrypt-in-java-decrypt-in-ruby aes-cbc-pkcs5padding-implementation-in-ruby-for-rails 主旨github。通用域名格式 Ruby中的对称加密算法 为了得到相同的结果

  • 本文向大家介绍Python实现的文本简单可逆加密算法示例,包括了Python实现的文本简单可逆加密算法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现的文本简单可逆加密算法。分享给大家供大家参考,具体如下: 其实很简单,就是把一段文本每个字符都通过某种方式改变(比如加1) 这样就实现了文本的加密操作,解密就是其逆运算 注意: ①如果出现中文编码问题可以通过.encode

  • 本文向大家介绍python实现简单加密解密机制,包括了python实现简单加密解密机制的使用技巧和注意事项,需要的朋友参考一下 本文使用python实现一个简单的加密解密机制。 描述:结合26个字母、以一个单词作为秘钥,使用python实现简单的加密解密机制 秘钥:大写的英文字符串 明文:包含空格、大小写字母、数字等的字符串 代码实现: 运行结果: # python jiami.py  秘钥:ZD

  • 本文向大家介绍Java AES加密解密的简单实现方法,包括了Java AES加密解密的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接上代码 以上这篇Java AES加密解密的简单实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。