`
rshua
  • 浏览: 23756 次
  • 性别: Icon_minigender_1
  • 来自: jx
文章分类
社区版块
存档分类
最新评论

ruby中的加密解密

阅读更多
  1.  
    1. OpenSSL::Cliper
    2. MD5
    3. Base64
    4. uri
    5. sha1

 

 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)
 
#md5加密
require 'md5' 
puts MD5.hexdigest('admin') 
 
 #加密 
 str = '123456'
 str = Base64.encode64(str) #=> MTIzNDU2\n
 #解密
 str = '123456'
 str = Base64.encode64(str) #=> MTIzNDU2\n
 str = Base64.decode64(str) #=> 123456

 

src = 'abc编码asdf'
code = URI.encode src
src = URI.decode code
puts code
puts src
 
require 'digest/sha1'
puts Digest::SHA1.hexdigest('') 

 

 

推荐url:http://iceskysl.1sters.com/?p=726



 

 

分享到:
评论

相关推荐

    ruby-使用ruby实现的算法之加密解密算法.zip

    以上只是Ruby加密解密的基本概念和常用方法。在压缩包中的代码示例可能涵盖了这些知识点的具体实现,通过学习和实践,你可以更深入地了解和掌握Ruby在加密解密领域的应用。如果你对某个特定部分有疑问或需要进一步...

    本人根据RC4加密解密算法原理自己实现的RC4加密解密程序_RC4加密解密_信息安全_加密解密_密码学

    JSP(Java Server Pages)是一种服务器端脚本语言,它的RC4实现通常结合Java代码,将加密解密逻辑封装在Java类中,然后在JSP页面中调用。 10. **PHP实现**: PHP是一种广泛应用于Web开发的语言,其RC4实现同样...

    Ruby版微信小程序对称加密数据解密算法wechat_aes_sample_ruby-master.zip

    在Ruby编程环境中,微信小程序的对称加密数据解密算法主要涉及到的是AES(Advanced Encryption Standard)加密技术。AES是一种广泛使用的块密码,以其安全性、效率和标准化而闻名。本项目"wechat_aes_sample_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....

    ecc:ruby中的椭圆曲线加密密钥生成

    在Ruby编程语言中,椭圆曲线加密(ECC,Elliptic Curve Cryptography)是一种用于安全数据传输的高效加密技术。这种加密方法基于数学上的椭圆曲线理论,提供了与传统RSA或其他公钥加密算法相当的安全性,但所需密钥...

    Ruby-Underlock让加密和解密数据与文件变得简单

    Ruby-Underlock是一款专为Ruby开发者设计的轻量级加密库,它的主要目标是简化数据和文件的加密与解密过程。在当前的数字化时代,数据安全成为了企业和个人都极其关注的问题,而Underlock就是为了解决这一问题而诞生...

    Ruby-LockboxRuby和Rails的文件加密

    总的来说,Ruby-Lockbox是Ruby和Rails开发中安全处理敏感数据的强大工具,它提供了丰富的加密选项和良好的可扩展性,使得开发人员能够更加专注于业务逻辑,而不必过于担忧数据安全的问题。在实际项目中,正确使用和...

    对称加密:使用OpenSSL的Ruby项目的对称加密

    对称加密使用OpenSSL加密和解密数据,因此可以公开OpenSSL支持的所有加密算法。文献资料火箭队签出姐妹项目 :Ruby缺少的批处理系统。 完全支持对称加密,以在后台运行作业时对飞行中和静止时的数据进行加密。升级...

    Ruby-安全地搜索加密的数据库字段

    在Ruby应用中,可以使用如`openssl`库进行加密。一旦数据加密,它在数据库中存储为不可读格式,从而提高了安全性。然而,加密的数据无法直接进行搜索,因为搜索通常依赖于明文内容。 为了解决这个问题,可以采用一...

    RGSS文件解密器

    然而,这些游戏的资源,如图形、音频和脚本,通常以加密格式存储在游戏数据文件中,以防止未经授权的修改和盗用。"RGSS文件解密器"就是针对这类文件的工具,用于帮助开发者和玩家提取和查看这些加密数据。 RGSSAD...

    Ruby的JSON对象签名和加密(JOSE).zip

    4. **Error Handling**: 在处理JOSE对象时,要处理可能的解码错误、签名验证失败或加密解密错误。 5. **Integration with Frameworks**: 在Ruby on Rails或其他Web框架中,你可以集成`jose`库来处理用户认证、API...

    rmxp解密器

    解密过程通常是通过执行特定的解密算法来实现的,这些算法能够读取并解析RMXP游戏文件中的加密数据,将其转换为可编辑的格式。这对于那些想要深入了解游戏机制,或者想要为游戏添加个性化元素的人来说,是非常有价值...

    《RUBY QUIZ - The Solitaire Cipher 》

    在这个过程中,你可以学习到如何在Ruby中编写高效的代码来实现加密算法,同时也能加深对Ruby语法和面向对象编程的理解。此外,解决这类问题还能提高逻辑思维和问题分析能力。通过阅读他人的解决方案,可以借鉴不同的...

    sym:Sym是命令行实用程序和Ruby API,可轻松加密和解密敏感数据。 与许多其他现有的加密工具不同,sym专注于可用性和简化的界面(CLI),其目标是使加密变得简单而透明。 结果? 没有任何借口可以使您的应用程序机密保持未加密状态

    SYM是一个开放源代码命令行实用程序和一个Ruby库,使用一个更大的项目-Open SSL中提供的经过数学验证的模型和密码来加密您的应用程序秘密变得非常简单。 与许多现有的加密工具不同, sym致力于通过提供增强的可用性...

    AES加密类:Python,PHP,C#,Java,C ++,F#,Ruby,Scala,Node.js中的AES加密

    Python,PHP,C#,Java,C ++,F#,Ruby,Scala,Node.js中的AES加密 描述 该项目的目标是提供简单,可移植且兼容的代码(用Python加密的数据可以用PHP解密,依此类推)。 使用的加密算法是CBC和CFB模式下的AES。 ...

    各种加密签名工具合集

    例如,RSA是一种非对称加密算法,它使用一对公钥和私钥进行加密解密,适用于密钥交换和数字签名。MD5(Message-Digest Algorithm 5)是另一种常见的散列函数,虽然其安全性较SHA1弱,但在某些场景下仍然被用于快速...

    serket:用于加密解密的 Gem 和 Android 客户端

    设想的用例是在使用公钥将数据保存到服务器或移动设备之前对数据进行加密,并且仅在将数据发送到具有私钥的另一台服务器时才解密该数据。 它的工作原理是生成一个随机 AES 密钥,使用该生成的密钥加密文本,使用 ...

    RGSS加密文件解包器

    2. **解包过程**:将加密文件导入到解包器中,工具会自动识别文件类型并应用相应的解密算法。解包可能需要一段时间,具体取决于文件大小和解密算法的复杂性。 3. **内容解析**:解包完成后,你会得到解密后的文件,...

    使用公钥加密保护ActiveRecord属性.zip

    在这个案例中,我们可以使用一个名为`gem 'strongbox'`的Ruby gem来帮助我们实现公钥加密。Strongbox是一个方便的工具,它可以轻松地将ActiveRecord模型的属性加密,并在需要时自动解密。它支持使用OpenSSL库的公钥...

    symmetric-encryption:使用OpenSSL的Ruby项目的对称加密

    对称加密使用OpenSSL加密和解密数据,因此可以公开OpenSSL支持的所有加密算法。文献资料火箭工作签出姐妹项目 :Ruby缺少的批处理系统。 完全支持对称加密,以在后台运行作业时对飞行中和静止时的数据进行加密。...

Global site tag (gtag.js) - Google Analytics