1
public static function decryptSessionByDES($str,$key_str){
  $decoded =base64_decode($str);
  $iv = substr($key_str, 0, mcrypt_get_iv_size(MCRYPT_3DES,MCRYPT_MODE_ECB));
  return trim(mcrypt_ecb(MCRYPT_3DES, $key_str, $decoded, MCRYPT_DECRYPT, $iv));
}

如何在 Ruby 中隐藏此代码?

4

1 回答 1

1

我解决了这个问题:

这是 libmcrypt 中的 gem 库:https ://github.com/kingpong/ruby-mcrypt

require "mcrypt"
class Crypt
  def self.decrypt_session_by_des(str, key_str)
    str_decoded = Base64.decode64(str)
    mc = Mcrypt.new(:des,:ecb)
    mc.padding = :pkcs
    mc.key = key_str
    mc.decrypt(str_decoded)
  end
end

其他人解密或加密你可以在 ruby​​-mcrypt 中看到测试用例: https ://github.com/kingpong/ruby-mcrypt/blob/master/test/test_reciprocity.rb

于 2012-04-11T01:54:33.243 回答