草庐IT

AES_cbc_encrypt

全部标签

ruby - AES-256-CBC 与从 Ruby 到 NodeJS 的摘要

我希望有人可以阐明过去几个小时一直困扰我的问题。我正在尝试解码一个用Ruby编码的字符串:#!/usr/bin/envrubyrequire'base64'require'openssl'require'openssl/cipher'require'openssl/digest'aes=OpenSSL::Cipher::Cipher.new('aes-256-cbc')aes.encryptaes.key=Digest::SHA256.digest('IHazSekretKey')pBase64.encode64(aes.update('texttobeencrypted')执行上面的

ruby-on-rails - rails 5 : Devise Gem password Encryption

我是Rails初学者。我正在尝试使用Devisegem来保存密码。不知何故,我在使用Bcrypt时发现了一个问题,并且根据建议我选择了Devise。当我安装Devise并尝试保存密码时,它被保存为纯文本。这是我正在使用的代码。config.rbRails.application.routes.drawdodevise_for:users#ThisgotaddedaspartofDevisegemusage#....Otherdifferentroutesresources:users,except:[:new]#Iamusinguserscontrollerandgeneratingr

java - 在 ruby​​ 中通过 "DES-EDE3-CBC"加密并在 Java 中解密

我想用Ruby中的密码“DES-EDE3-CBC”加密数据,然后用Java解密加密的数据。这是我用Ruby进行加密的代码:require'digest'require'openssl'require'base64'ALG="DES-EDE3-CBC"key="80f28a1ef4aa9df6ee2ee3210316b98f383eb344"cipher=OpenSSL::Cipher::Cipher.new(ALG)cipher.pkcs5_keyivgen(key,nil)cipher.encryptdata="hello"result=cipher.update(data)resu

ruby-on-rails - 设计 :password and :encrypted_password

在设计railsgem中,这两者有什么区别?我在生成的模式中看到了:encrypted_pa​​ssword字段,但没有看到:password字段。如果这两者相互关联,有什么解释吗? 最佳答案 Devise::Models::DatabaseAuthenticatable有一个setter:defpassword=(new_password)@password=new_passwordself.encrypted_password=password_digest(@password)if@password.present?end所以

ruby-on-rails - 在 Rails 中使用 AES 密码 block 链接解密字符串

我必须在Rails中实现一个我以前从未使用过或见过的支付网关(如果有人感兴趣,可以使用澳大利亚的WestpacPayway)。他们的文档还不错,系统也相当合乎逻辑,以至于到目前为止都非常轻松(支付集成的奇迹)。问题在于,在付款直接发送到Westpac并处理完付款后,他们会使用一个大的加密参数重定向回我们的网站。这意味着我们将对其进行解密以访问实际参数。这是西太平洋银行的指南:TheparametersareencryptedusingAESwithCipherBlockChaining,usingPCKS-5Padding.Thedecryptionalgorithmshouldbei

ruby - 如何用另一种语言解密由 Ruby 的 `symmetric-encryption` gem 加密的数据?

我想访问由Rails创建的供非Ruby代码使用的数据库中的数据。一些字段使用attr_encrypted访问器,使用的库是symmetric-encryptiongem。如果我尝试使用例如NodeJScrypto库解密数据,我总是会收到“错误的最终block长度”错误。我怀疑这与字符编码或填充有关,但我无法根据文档弄明白。作为实验,我尝试从Ruby自己的OpenSSL库中的symmetric-encryption解密数据,但我得到了“解密错误”错误或相同的问题:SymmetricEncryption.cipher=SymmetricEncryption::Cipher.new(key:

ruby-on-rails - 无法在 Rails 中创建具有带前导点的段的路由(以验证 Let's Encrypt)

在我的Heroku上的Rails5应用程序中,我正在尝试为此URL创建一个路由:http://beta.example.com/.well-known/acme-challenge/some-key,因此我可以使用Let'sEncrypt验证我的服务器以获得SSL证书。但是我无法让路线在路线的任何段中使用前导点或句点,它只会返回404NotFound。换句话说,.well-known开头的点把事情搞砸了。我可以获得一条没有点的工作路线,或者如果点在其他地方(例如well.known),但如果点是段中的第一个字符,它就不起作用。我从这个开始:get"/.well-known/acme-c

ruby - AES 在 ColdFusion 中加密,在 ruby​​ 中解密

我们一辈子都弄不明白。我们需要让ColdFusion加密ruby​​将解密的数据。我们在ColdFusion方面尝试了很多不同的设置,查看了SO帖子,查看了Adob​​e文档,但无法使其工作。ColdFusion需要对其进行加密,以便ruby​​可以执行此操作:aes=OpenSSL::Cipher::Cipher.new('aes-256-cbc').encryptaes.key=Digest::MD5.hexdigest("#{password}#{salt}")aes.iv=Digest::MD5.hexdigest("#{salt}#{password}")[0,16]encr

ruby - AES-128-GCM 似乎不检查身份验证

如果我正确理解GCM模式,它应该不仅提供加密,还提供密文的身份验证。但是,当我使用Ruby的OpenSSL实现以AES-256-GCM模式加密数据时,即使我篡改了auth_tag,它也会愉快地解密数据。我是不是遗漏了什么,或者实现确实有问题?require'openssl'#ALICEencryptssomesecretdatadata='secret'cipher=OpenSSL::Cipher.new('aes-128-gcm')cipher.encryptkey=cipher.random_keyiv=cipher.random_ivcipher.auth_data='auth_

ruby - ruby 中流的 AES CBC 加密?

我一直在使用ruby​​中的cbc加密的相当标准的示例(对于我的目的来说,这个示例严重损坏):defaes(m,k,t)(aes=OpenSSL::Cipher::Cipher.new('aes-256-cbc').send(m)).key=Digest::SHA256.digest(k)aes.update(t)这是一个可接受的起点,但我需要能够加密大量数据流,而无需将它们加载到一大块内存中。我想一次加载一个meg,更新加密流的状态,然后继续下一个block。查看OpenSSLCipher上的文档(非常糟糕),我希望调用更新应该只是继续数据流。然而,一个简单的测试告诉我有一些非常错误