Tag: 加密

AES Python加密和Ruby加密 – 不同的行为?

从这个网站我有这个代码片段: >>> from Crypto.Cipher import AES >>> obj = AES.new(‘This is a key123’, AES.MODE_CBC, ‘This is an IV456’) >>> message = “The answer is no” >>> ciphertext = obj.encrypt(message) >>> list(bytearray(ciphertext)) [214, 131, 141, 100, 33, 86, 84, 146, 170, 96, 65, 5, 224, 155, 139, 241] 当我接受这个数组并将其转换为Ruby中的String并继续解密时,会发生错误: >> require ‘openssl’ => true >> obj2 […]

在Ruby中加密/解密3DES

我有一个key.bin文件,其内容类似于: -12, 110, 93, 14, -48, … 服务使用它来解密3DES内容,但我需要通过Ruby加密它。 我已经尝试了大量的方案,如何设置密钥以及如何处理它,但到目前为止无济于事: 尝试拆分密钥,并将每个数字转换为hex,连接hex值以生成密钥 尝试将数字字符串转换为二进制 尝试将生成的hex转换为二进制 我认为我需要做的事情很简单: des = OpenSSL::Cipher::Cipher.new(‘des3’) des.decrypt des.key = mistery # this step is where i’m having problems at final = des.update(encrypted) + des.final 关于我应该用这个键做什么的任何想法? 关键样本: -62,-53,124,-110,37,-88,-48,31,-57,93,70,-101,44,69,-88,-57,-123,-99,118,-119,110,55,11,14 数据样本: NEb2b9sYXgod6mTvaRv+MRsTJvIiTTI9VjnDGcxjxcN5qBH7FXvxYI6Oj16FeKKsoQvjAmdju2SQ ifJqPJTl97xeEbjdwm+W8XJnWs99ku85EznVBhzQxI1H2jPiZIcrqIVCWdd/OQun7AjK4w2+5yb7 DPN2OiCIEOz2zK6skJrBw3oTEHpXrSEhydOYxqI+c5hC4z3k5nktN6WSVLIo8EAjwenHPMDxboWF ET8R+QM5EznVBhzQxI1H2jPiZIcrqIVCWdd/OQun7AjK4w2+5yb7DPN2OiCIFqk4LRwEVq16jvKE vjz6T4/G34kx6CEx/JdZ1LdvxC3xYQIcwS0wVnmtxorFm4q5QQFHzNKQ5chrGZzDkFzAogsZ2l2B vcvlwgajNGHmxuVU83Ldn1e5rin7QqpjASqeDGFQHkiSbp4x6axVce2OGgfFpZdzCM7y6jLPpOlX LOC/Bs1vTwMzcBNRB/Fo4nsX9i4It8Spm228XQNUpQe4i9QGe/4AyKIhHoM8DkXwPZ6rWp0W0UMe keXjg41cED1JwjAAQSP3RYITB78bu+CEZKPOt2tQ2BvSw55mnFcvjIAYVQxCHliQ4PwgceHrnsZz 5aagC0QJ3oOKw9O0dlkVE3IM6KTBMcuZOZF19nCqxMFacQoDxjJY8tOJoN0Fe4Boz2FPyuggfLz9 yhljVJhxqOlTd8eA34Ex8SdC+5NDByAMumjzcPcXL8YVpSN85gytfd+skXhz3npmJ0dmZZOouu0Z vMmlaCqw96Sy0L1mHLKbjqmZ/W57OBNRB/Fo4nsX9i4It8Spm228XQNUpQe4i9QGe/4AyKIhHoM8 DkXwPZ5tXdq1dRG6IaS51oNzFFlOoP3wTJuOTpj+zQOBMMOi4ENFyyEwYbG/qE+uY8rVwBOUHv9b Yd9byvOZbnHDuf4oaWRZ+4K3s2NkEblDF9wU6Mb0ZqnLEJsypjrorH1cNIodIDu8nME1nD5bIDF6 XNrWC6pk6AV6eYQvNJw2QDz0RBD15fz/fAXCvbaCLDnhBKpLXrRbQdV+jxx2ipeC2ceMLLRFRPuR B+ycYht65lWh4jNjoEsBXGFKiT0bSX6Lx/ZQD3twJWbML8ifRhw7SW0jOkUF+dAfXYNaD6nqA6Xq TkcsDGaJsVq8wwCIWNh6tDRSw7ba4c391147kmnqEgXdKmmnEzUfHtpRw88C0/u0qj809hB4qB0B lxj/87aDo4VOz9S4jjtk849CxtA/a9+532A4YlXjsPt/f0KZ2drAGEr1VSWzaLh/sMwP5tznmPaK […]

推荐用于Ruby的双向加密gem?

我需要一个Ruby的双向加密解决方案,如Blowfish,Rijndael(AES)或其他。 然而,问题在于我找不到合适的gem。 我希望该库支持几种不同的加密算法,因此我可以比较每种加密算法的性能,以便在我的应用程序中实现最佳集成。 我也希望它是开源的。 我遇到了Crypt ,但它没有正确安装,看起来不像是在一段时间内更新了。 EzCrypto也不会安装。 我也看过ruby-aes ,但这只支持Rijndael。 经过一些GitHub搜索,我找到了Encryptor ,这似乎与我正在寻找的东西相似。 但是,我很想知道我可能错过的任何gem/图书馆。 提前致谢!

如何使用Ruby加密和签署iphone移动配置文件

我有一个由iphone配置实用程序生成的xml格式(模板)的unsigned mobileconfig文件。 我想使用openssl对其进行加密和签名,并能够使用Ruby on rails在iphone上安装它。 我不想创建一个SCEP服务器来执行此操作,因为我想继续动态修改此模板xml文件并使用某个URL提供它。 感谢您的帮助。 我已经检查了以下问题但是它不清楚如何加密可以在iphone上正确安装的文件 – 因为当我试图模仿加密文件格式时我不断得到“由于未知错误而无法安assembly置文件”来自iphone配置实用程序,只加密部件并适当地附加/添加配置文件的其他部分。 使用Ruby on Rails签署iPhone配置XML配置文件 apple的这本手册很有用,但它更适合创建SCEP服务器而不是用于操作模板mobileconfig文件 – http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/profile-service/profile-service.html

使用任何东西在Ruby中的Objective-C / Decrypt中加密

我们使用此代码在iPhone上的Objective-C中进行加密: – (NSMutableData*) EncryptAES: (NSString *) key { char keyPtr[kCCKeySizeAES128+1]; bzero( keyPtr, sizeof(keyPtr) ); [key getCString: keyPtr maxLength: sizeof(keyPtr) encoding: NSUTF8StringEncoding]; size_t numBytesEncrypted = 0; NSUInteger dataLength = [self length]; size_t bufferSize = dataLength + kCCBlockSizeAES128; void *buffer = malloc(bufferSize); NSMutableData *output = [[NSData alloc] init]; CCCryptorStatus result = CCCrypt( kCCEncrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding, keyPtr, kCCKeySizeAES128, […]

鉴于会话密钥和秘密,我们如何解密Rails cookie?

我有一个关于Rails如何处理cookie加密/解密的问题。 我在config / environment.rb中有这个 config.action_controller.session = { :session_key => [some key], :secret => [some secret] } 这在config / environment / production.rb等人: ActionController::Base.session_options[:session_domain] = [some domain] 到目前为止,这么好 – 只要我的所有Rails应用程序具有相同的session_key和秘密,并且在同一个域中,它们都可以使用相同的cookie。 但是,一位同事现在有一个JSP应用程序(在同一个域上),他想用它来读取我设置的cookie。 因此,给定一个秘密和加密的cookie值,我们如何解密它以获取该cookie的内容? (文档似乎表明这是默认的单向SHA1加密 – http://caboo.se/doc/classes/CGI/Session/CookieStore.html – 但是我的Rails应用程序将如何读取内容单向加密的cookie?) 提前感谢任何提示/指示/见解, 乔

BCrypt说长的,类似的密码是等价的 – 我,gem或密码学领域的问题?

我一直在试验BCrypt,并发现了以下内容。 如果重要的话,我正在运行ruby 1.9.2dev(2010-04-30 trunk 27557)[i686-linux] require ‘bcrypt’ # bcrypt-ruby gem, version 2.1.2 @long_string_1 = ‘f287ed6548e91475d06688b481ae8612fa060b2d402fdde8f79b7d0181d6a27d8feede46b833ecd9633b10824259ebac13b077efb7c24563fce0000670834215’ @long_string_2 = ‘f6ebeea9b99bcae4340670360674482773a12fd5ef5e94c7db0a42800813d2587063b70660294736fded10217d80ce7d3b27c568a1237e2ca1fecbf40be5eab8’ def salted(string) @long_string_1 + string + @long_string_2 end encrypted_password = BCrypt::Password.create(salted(‘password’), :cost => 10) puts encrypted_password #=> $2a$10$kNMF/ku6VEAfLFEZKJ.ZC.zcMYUzvOQ6Dzi6ZX1UIVPUh5zr53yEu password = BCrypt::Password.new(encrypted_password) puts password.is_password?(salted(‘password’)) #=> true puts password.is_password?(salted(‘passward’)) #=> true puts password.is_password?(salted(‘75747373’)) #=> true puts password.is_password?(salted(‘passwor’)) #=> false […]

Rails中的加密 – 解密

我使用require ‘digest/sha1’来加密我的密码并保存到数据库中。 在登录期间,我通过匹配保存在数据库中的加密密码进行身份validation,并再次加密,使用输入密码字段。 截至目前一切正常,但现在我想做’忘记密码’function。 为此,我需要解密保存在数据库中的密码以找到原始密码。 如何使用digest/sha1解密? 或者有没有人知道任何支持加密和解密的算法? 我在rails上使用ruby,所以我需要Ruby方法来完成它。

解密使用Ruby在命令行上生成的salted AES文件

我想解密以前使用OpenSSL的命令行工具加密的ruby 2.1脚本中的文本文件: openssl enc -aes-256-cbc -a -salt -in my_file 如命令中所示,该文件是AES-256-CBC加密,盐渍和base64编码。 密码是已知的,但不是IV和密钥,它们是遵循此代码片段所必需的,取自ruby文档 : decipher = OpenSSL::Cipher::AES.new 256, :CBC decipher.decrypt decipher.key = key decipher.iv = iv plain = decipher.update(encrypted_text) + decipher.final 在尝试寻找答案的同时,我发现了gemAESCrypt gem,它可以简化en-and decrypting,但目前发布的版本与ruby 2.1不兼容。 看着它的源代码,我发现密钥是通过消化密码来检索的 ,而IV只是保留nil 。 所以我尝试了以下运行: encoded_and_encrypted_text = File.read my_file_path encrypted_text = Base64.decode64 encoded_and_encrypted_text.to_s.strip decipher = OpenSSL::Cipher::AES.new 256, :CBC decipher.decrypt decipher.key = OpenSSL::Digest::SHA256.new(my_password).digest plain_text […]

Ruby:使用私钥/公钥进行文件加密/解密

我正在寻找一种文件加密/解密算法,它满足以下要求: 算法必须可靠 对于相当大的文件,算法应该很快 私钥可以通过某些参数生成(例如,密码) 生成的私钥必须与公钥兼容(公钥只生成一次并存储在数据库中) 是否有建议算法的Ruby实现?