Tag: sha1

将SHA1转换回字符串

我的应用程序上有一个用户模型,我的密码字段使用sha1。 我想要的是,当我从数据库中获取sha1时,再次使它成为一个字符串。 我怎么做?

我可以序列化ruby Digest :: SHA1实例对象吗?

G’day人, 我正在使用redis作为后备存储在ruby(sinatra)中重新实现现有的自定义文件上载服务。 客户端计算SHA1哈希并启动上载上传最大64K块直到完成 服务器将块附加到文件计算完整文件的SHA1哈希以validation正确的接收 现在,我希望做的是在每个块上使用ruby(1.9.3)Digest :: SHA1 < 1GB]。 不幸的是Digest :: SHA1和Marshal.dump不兼容 1.9.3p125 :001 > require ‘digest’ => true 1.9.3p125 :002 > $digest = Digest::SHA1.new => # 1.9.3p125 :003 > marshalled_digest = Marshal.dump($digest) TypeError: no _dump_data is defined for class Digest::SHA1 from (irb):3:in `dump’ from (irb):3 from /Users/rhodry/.rvm/rubies/ruby-1.9.3-p125/bin/irb:16:in `’ 1.9.3p125 :004 > 有没有人对如何: 获取对底层内存的访问权限(在C中操作)并存储/恢复这样的对象? 获得一个允许类似用例的替代实现? […]

Ruby方式为OAuth生成HMAC-SHA1签名

我正在编写一个小的ruby程序,可以通过OAuth与Twitter一起玩,还没有找到正确的方法来进行HMAC-SHA1签名。 到目前为止,我搞砸了 Base64.encode64(OpenSSL::HMAC.hexdigest(digest, key, stuff)).chomp 但这会输出Twitter拒绝的东西,而不是有效的签名。 我实际上以更糟糕的方式解决了它,请尽量不要打我: php -r “echo rawurlencode(base64_encode(hash_hmac(‘sha1’, ‘#{@signature}’, ‘#{llave}’, true)));” 这最后一个实际上有效,我可以四处寻找我的东西。 我想要一些关于如何在不回复PHP的情况下实际执行此操作的提示。 当我试图学习一门语言时,我不是很喜欢图书馆,所以gem几乎是不可能的。 谢谢!

在Ruby中重新实现ASP.NET成员资格和用户密码哈希

我有一个庞大的用户数据库(~200,000),我正在从ASP.NET应用程序转移到Ruby on Rails应用程序。 我真的不想让每个用户重置他们的密码,所以我试图在Ruby中重新实现C#密码散列函数。 旧function是这样的: public string EncodePassword(string pass, string saltBase64) { byte[] bytes = Encoding.Unicode.GetBytes(pass); byte[] src = Convert.FromBase64String(saltBase64); byte[] dst = new byte[src.Length + bytes.Length]; Buffer.BlockCopy(src, 0, dst, 0, src.Length); Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length); HashAlgorithm algorithm = HashAlgorithm.Create(“SHA1”); byte[] inArray = algorithm.ComputeHash(dst); return Convert.ToBase64String(inArray); } 示例哈希密码和salt是(并且使用的密码是“password”): 哈希密码:“weEWx4rhyPtd3kec7usysxf7kpk =”盐:“1ptFxHq7ALe7yXIQDdzQ9Q ==”密码:“密码” 现在使用以下Ruby代码: require “base64” […]