草庐IT

cryptography

全部标签

ruby - Ruby 中的单 block AES 解密

我需要尝试一些AES片段。我有一些密文c和一个keyk。密文已使用AES-CBC加密,并在前面加上IV。不存在填充,纯文本的长度是16的倍数。所以我这样做:aes=OpenSSL::Cipher::Cipher.new("AES-128-CCB")aes.decryptaes.key=kaes.iv=c[0..15]aes.update(c[16..63])+aes.final它工作得很好。现在我需要手动执行CBC模式,所以我需要单个block的“普通”AES解密。我正在尝试这个:aes=OpenSSL::Cipher::Cipher.new("AES-128-ECB")aes.dec

ruby-on-rails - 如何生成用于 attr_encrypted 的加密 key

我正在考虑使用attr_encrypted在Rails应用程序中用于字段级加密的gem。如何生成用于此gem的加密key?更新:Encryptor的文档,它是attr_encrypted使用的底层加密,声明如下(在Usage|Basic下):secret_key=Digest::SHA256.hexdigest('asecretkey')encrypted_value=Encryptor.encrypt('somestringtoencrypt',:key=>secret_key)我猜想key可以是任意长度的随机字符串,而对hexdigest的调用将从中计算出适当的固定长度字符串。这是

ruby - Ruby 的 OpenSSL::Random 种子是否足够?

我对Ruby知之甚少,所以如果这个问题的答案显而易见,请原谅我。我注意到http://www.ruby-doc.org/stdlib-1.9.3/libdoc/securerandom/rdoc/SecureRandom.html当调用random_bytes时,Ruby使用pid和当前时间来播种OpenSSL::Random。除非幕后发生其他事情,否则这不正是Netscape在90年代中期在其最初的SSL实现中使用的种子吗?http://en.wikipedia.org/wiki/Random_number_generator_attack#Prominent_examples_of

ruby-on-rails - ruby - 如何加密文本

我需要加密一个字符串(来自文本区域),该字符串稍后在显示时也会被解密。我不担心它的安全性,只是不想以纯文本格式存储数据。有人对如何在Rails中轻松执行此操作有任何建议吗? 最佳答案 有一个名为Crypt的RubyGem它提供了许多加密算法的纯Ruby实现。 关于ruby-on-rails-ruby-如何加密文本,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2192948/

为 OAuth 生成 HMAC-SHA1 签名的 Ruby 方法

我正在编写一个小的ruby​​程序来通过OAuth与Twitter一起玩,但还没有找到一个正确的方法来进行HMAC-SHA1签名。到目前为止,我搞砸了Base64.encode64(OpenSSL::HMAC.hexdigest(digest,key,stuff)).chomp但这会输出Twitter拒绝的内容,而不是有效签名。我实际上以更糟糕的方式解决了它,请不要打我耳光:php-r"echorawurlencode(base64_encode(hash_hmac('sha1','#{@signature}','#{llave}',true)));"最后一个确实有效,我可以四处做我的

javascript - 如何使用 Web Crypto API 解密使用 OpenSSL 创建的文件?

我正在尝试解密使用OpenSSL命令行界面创建的文件。此文件创建于:opensslaes-256-cbc-a-infile.txt-outfile_encrypted.txt并且可以用以下方法解密:opensslaes-256-cbc-d-a-infile_encrypted.txt通过使用-p标志,我可以检索WebCryptoAPI所需的实际值、salt和IV:>opensslaes-256-cbc-d-a-p-infile_encrypted.txtsalt=F57F1CC0CD384326key=0E971326890959386F1CFB91F185CFE109203DCEBC

javascript - Javascript 是一个合适的加密平台吗?或者,可以吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。很久以前我注意到维基百科链接到一个Javascriptimplementation不同的哈希函数。还发现ClipperzCrypto.甚至Mozilla也实现了cryptoobject在Firefox中。那么,Javascript是一个合适的密码学平台吗?或者,可以吗?或者,我想......在POST之前对数据进行哈希处理是否有任何目的或好处?

javascript - 当 openssl 命令行执行时,Node.js 验证功能不验证签名

我正在尝试使用Node.js加密模块来验证某些数据的签名。我正在使用Node.js0.8.0。文件中的数据已使用MD5算法进行哈希处理并使用RSA私钥签名,并将签名保存到单独的文件中。这一切都是使用Java库完成的。如果我使用openssl来验证签名这是成功的,使用:openssldgst-verifymykey.pem-signatureexample.sighello.txt它以VerifiedOK响应。如果我更改hello.txt的单个字符,它不会验证。我可以在上面的命令中添加一个-MD5参数,它仍然有效,但我认为这是默认设置,但如果我说-MD4或-SHA,它不会验证。这一切都很

javascript - jsSHA、CryptoJS 和 OpenSSL 库给出不同的结果

刚接触JS,我也在学习使用加密库。我不明白为什么使用相同的secret对相同的消息进行签名/编码会产生不同的结果。我正在使用jsSHA1.3.1foundhere,和CryptoJS3.0.2describedhere试图创建一个base64sha-1编码的hmac签名。这是代码:在html中...在js中...varmessage="shahme";varsecret="hideme";varcrypto=CryptoJS.HmacSHA1(message,secret).toString(CryptoJS.enc.Base64)+'=';varshaObj=newjsSHA(mes

javascript - WebCrypto API 在哪里存储 key ?

我正在使用webcryptoAPI成功地加密服务器和客户端之间的消息(假设我需要手动执行此操作)。我的问题是我需要检查用户和服务器的key对是否已经存在,而不是一直生成新的key对。有没有办法检查它是否存在并检索它以解密服务器消息?澄清一下,我的privateKey在浏览器上,publicKey被发送到服务器。我有一个nodejs服务器和纯JS前端。提前致谢。 最佳答案 默认情况下,加密key不是永久性的。您需要将键存储在IndexedDB中,以便下次浏览器执行时可以使用它们。IndexedDB是一个安全存储,key可以在不暴露ke