Tag: 加密

解密设计密码

我需要解密由devise生成的密码。 例如,我的密码是test123test 。 设计生成此密码: $2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu 我需要解密密码并发送test123test 。

ruby河豚的最后数字差异

我有一些来自API提供商的testdata密钥/文本/加密,现在我正在尝试使用下面的函数产生相同的加密结果,但我的结果会从241位数的最后16位中提供的结果转移。 你有什么想法,原因是什么? 我确信,’bf-ecb’是正确的模式,并尝试使用url编码,但到目前为止还没有成功。 require ‘openssl’ def encrypt(key, data) cipher = OpenSSL::Cipher::Cipher.new(‘bf-ecb’).send(:encrypt) cipher.key = key result = cipher.update(data) << cipher.final hexed = '' result.each_byte { |c| hexed << '%02x' % c } hexed.upcase end UPDATE 还尝试解密示例结果导致OpenSSL :: Cipher :: CipherError“bad decrypt”

无法在Ruby中创建(AS3)兼容的河豚字符串

我正在使用Ruby来尝试加密一个字符串,该字符串将存储在数据库中并由Flash / Actionscript应用程序读取/解密。 该应用程序使用此blowfish实现 。 我尝试了openssl和crypt / blowfish创建兼容字符串的方法。 两者都不匹配,也不匹配Flash应用程序所期望的。 我从哪里开始这个工作? irb(main):001:0> require ‘openssl’ => true irb(main):002:0> require ‘crypt/blowfish’ => true irb(main):007:0> require ‘base64’ => true irb(main):003:0> key = “foo” => “foo” irb(main):004:0> plain = “some string” => “some string” irb(main):005:0> blowfish = Crypt::Blowfish.new(key) => irb(main):006:0> enc = blowfish.encrypt_block(plain) => “\xF5\xAFB\x12=\xB9\xDB\f” irb(main):008:0> Base64.encode64(enc) => “9a9CEj252ww=\n” # […]

Ruby GPGME – 如何加密大文件

我在使用Ruby中的GPGME加密大文件(大于可用内存)时遇到了困难。 #!/usr/bin/ruby require ‘gpgme’ def gpgfile(localfile) crypto = GPGME::Crypto.new filebasename = File.basename(localfile) filecripted = crypto.encrypt File.read(localfile), :recipients => “info@address.com”, :always_trust => true File.open(“#{localfile}.gpg”, ‘w’) { |file| file.write(filecripted) } end gpgpfile(“/home/largefile.data”) 在这种情况下,我得到了内存分配错误: “读取:无法分配内存(NoMemoryError)” 有人可以解释我如何按块(例如100Mb)读取源文件块并通过加密写入它们吗?

如何使用AES 256 ECB PKCS5Padding在ruby中加密数据

我希望用AES 256bit ECB模式加密数据使用PKCS5padding我的ruby方法如下,如何在这里使用PKCS5Padding def encrypt(raw_data,key) cipher = OpenSSL::Cipher::AES.new(256, :ECB) cipher.encrypt cipher.key = key encrypted_data = cipher.update(raw_data) + cipher.final end 这里的密钥是OpenSSL :: PKey :: RSA类型, no implicit conversion of OpenSSL::PKey::RSA into String抛出no implicit conversion of OpenSSL::PKey::RSA into Stringexception的no implicit conversion of OpenSSL::PKey::RSA into String

在ruby中读取/写入受密码保护和加密的文件

我想加密ruby程序将从中加载数据的文件。 另外,我需要程序在启动时提示输入密码,用于解密文件。 换句话说,该文件需要在机器上加密,只有拥有密码的用户才能运行该应用程序。 我已经开始关注openpgp,但据我了解,这仍然无法解决密码问题。

Ruby openssl文档

有没有Ruby的openssl库的在线文档? 我所能找到的只是博客文章和第三方文章,rdoc本身并没有真正解释如何逐步使用库。

TPLB 3 OpenSSL解密AES-256-CBC使用Ruby 2.0.0 OpenSSL :: Cipher加密

我从使用OpenSSL :: Cipher的服务器发送一些信息,使用AES-256-CBC加密数据。 我在Delphi XE8中编写的应用程序中接收数据,并尝试使用TPLB 3 OpenSSL解密数据。 从我尝试过的所有内容我都有所有的信息匹配,密钥,iv等),但在尝试解密时仍然会收到错误或垃圾数据。 我假设TPLB 3 setup / config中缺少一些东西让它正确解密,但我不能为我的生活弄明白。 任何帮助深表感谢。 delphi解密 function TLicenseReload.Decode(L, K, I: string): string; var cdec: TOpenSSL_Codec; s: string; sOut, sIn: TStream; begin Result := ”; cdec := TOpenSSL_Codec.Create(nil); sIn := TStringStream.Create; sout := TStringStream.Create; try sIn.Write(L, length(L)); sIn.Position := 0; cdec.SetKey(TEncoding.Default.GetBytes(K)); cdec.SetIV(TEncoding.Default.GetBytes(I)); cdec.Cipher := cipher_aes_256_cbc; cdec.PaddingScheme := […]

如何在Ruby中使用PKI(公钥/私钥)加密?

我想加密一个字符串,以便最终用户可以validation它是否由我加密,但是他们不能自己加密它。 例如,我有一个私钥’private’,一个公钥’public’,一个消息’hello world’,并希望做类似的事情: private_key = ‘private’ public_key = ‘public’ message = ‘hello world’ encrypted_value = Crypto.encrypt(message, private_key) # encrypted_value is now ‘d92a01df241a3’ is_verified = Crypto.verify(message, public_key) # given just the public key and the message, is_verified will # be able to tell whether it’s accurate # note that the encrypted_value cannot be generated by just […]

在Ruby / Python中使用哪个AES库?

我需要能够在Ruby客户端和Python服务器之间发送加密数据(反之亦然),并且在使用ruby-aes gem /库时遇到了问题。 该库非常易于使用,但我们在它与Python的pyCrypto AES库之间传递数据时遇到了麻烦。 当它们是唯一使用的库时,这些库看起来很好,但它们似乎在语言边界上不能很好地发挥作用。 有任何想法吗? 编辑:我们正在通过SOAP进行通信,并尝试将二进制数据转换为base64无济于事。 此外,更多的是加密/解密在两者之间几乎但不完全相同(例如,长度相差一个或在解密字符串的末尾有额外的垃圾字符)