标签: hash

等价的.try()用于散列以避免在nil上出现"未定义的方法"错误?

在Rails中,如果不存在值以避免错误,我们可以执行以下操作:

@myvar = @comment.try(:body)
Run Code Online (Sandbox Code Playgroud)

当我深入挖掘哈希并且不想得到错误时,等价物是什么?

@myvar = session[:comments][@comment.id]["temp_value"] 
# [:comments] may or may not exist here
Run Code Online (Sandbox Code Playgroud)

在上述情况下,session[:comments]try[@comment.id]不起作用.什么会?

ruby hash ruby-on-rails ruby-on-rails-3

164
推荐指数
9
解决办法
7万
查看次数

如何将新项添加到哈希

我是Ruby的新手,不知道如何将新项添加到已经存在的哈希.例如,首先我构造哈希:

hash = {item1: 1}
Run Code Online (Sandbox Code Playgroud)

之后想要添加item2所以在此之后我有这样的哈希:

{item1: 1, item2: 2}
Run Code Online (Sandbox Code Playgroud)

我不知道哈希上有什么方法可以帮助我吗?

ruby hash

164
推荐指数
6
解决办法
28万
查看次数

git中的哈希冲突

如果我在使用git时遇到哈希冲突会发生什么?

例如,我设法提交两个具有相同sha1校验和的文件,git会注意到它还是损坏了其中一个文件?

可以改进git以适应它,或者我是否必须更改为新的哈希算法?

(请不要通过讨论这个问题来转移这个问题 - 谢谢)

git hash sha1 hash-collision

162
推荐指数
6
解决办法
4万
查看次数

如何在Perl中打印哈希的内容?

我继续将哈希打印为#sokets/#dorted.如何打印哈希的内容?

不使用while循环将是最优选的(例如,单线程将是最佳的).

printing perl hash

160
推荐指数
7
解决办法
31万
查看次数

在Ruby中更改散列中的每个值

我想更改散列中的每个值,以便在值之前和之后添加'%'

{ :a=>'a' , :b=>'b' }
Run Code Online (Sandbox Code Playgroud)

必须改为

{ :a=>'%a%' , :b=>'%b%' }
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

ruby hash

158
推荐指数
10
解决办法
13万
查看次数

保存密码:最佳实践?

我一直都很好奇...在使用散列密码进行散列时哪个更好:前缀或后缀?为什么?或者它是否重要,只要你加盐?

为了解释:我们所有(希望)现在我们应该知道之前,我们哈希它存储在数据库中的密码[ 编辑:所以你能避免类似的事情发生了什么杰夫阿特伍德最近.通常,这是通过在将盐传递给散列算法之前将盐与密码连接来完成的.但是这些例子各不相同......有些例子在密码之前加盐.一些示例在密码添加salt .我甚至看到过一些尝试将盐放在中间的人.

那么哪种方法更好,为什么呢?有没有一种方法可以减少哈希冲突的可能性?我的谷歌搜索没有找到关于这个问题的体面分析.

编辑:很棒的答案人们!对不起,我只能选一个答案.:)

passwords hash cryptography salt

157
推荐指数
6
解决办法
7万
查看次数


在MySQL中存储SHA1哈希值

当我想在SHA数据库中存储SHA1哈希的结果时,我遇到了一个简单的问题:

VARCHAR字段应该在多长时间内存储哈希的结果?

mysql hash database-design sha1

155
推荐指数
4
解决办法
11万
查看次数

Object.GetHashCode()的默认实现

默认实现如何GetHashCode()工作?它是否有效且足够好地处理结构,类,数组等?

我试图决定在什么情况下我应该自己打包,在什么情况下我可以安全地依赖默认实现来做好.如果可能的话,我不想重新发明轮子.

.net hash gethashcode

155
推荐指数
4
解决办法
5万
查看次数

如何在不跳过文档的情况下更新window.location.hash?

我的网站上有一个滑动面板.

完成动画后,我就像这样设置哈希

function() {
   window.location.hash = id;
}
Run Code Online (Sandbox Code Playgroud)

(这是一个回调,并且id之前已分配).

这很好用,允许用户为面板添加书签,也可以使非JavaScript版本工作.

但是,当我更新哈希时,浏览器会跳转到该位置.我想这是预期的行为.

我的问题是:我该如何防止这种情况?即如何更改窗口的哈希值,但如果哈希存在则浏览器不会滚动到该元素?某种event.preventDefault()事情?

我正在使用jQuery 1.4和scrollTo插件.

非常感谢!

更新

这是更改面板的代码.

$('#something a').click(function(event) {
    event.preventDefault();
    var link = $(this);
    var id = link[0].hash;

    $('#slider').scrollTo(id, 800, {
        onAfter: function() {

            link.parents('li').siblings().removeClass('active');
            link.parent().addClass('active');
            window.location.hash = id;

            }
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript hash jquery scrollto

155
推荐指数
5
解决办法
15万
查看次数