zoukankan      html  css  js  c++  java
  • 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) 
  • 相关阅读:
    hlgoj 1766 Cubing
    Reverse Linked List
    String to Integer
    Bitwise AND of Numbers Range
    Best Time to Buy and Sell Stock III
    First Missing Positive
    Permutation Sequence
    Next Permutation
    Gray Code
    Number of Islands
  • 原文地址:https://www.cnblogs.com/heimirror/p/2598860.html
Copyright © 2011-2022 走看看