小编kem*_*002的帖子

为哈希隐藏盐的必要性

在工作中,我们有两种相互竞争的盐理论.我工作的产品使用类似用户名或电话号码来加密哈希值.基本上每个用户都有不同的东西,但我们可以随时使用.另一个产品为每个用户随机生成一个salt,并在每次用户更改密码时更改.然后在数据库中加密盐.

My question is if the second approach is really necessary? I can understand from a purely theoretical perspective that it is more secure than the first approach, but what about from a practicality point of view. Right now to authenticate a user, the salt must be unencrypted and applied to the login information.

在考虑之后,我只是没有从这种方法中看到真正的安全性收益.将盐从帐户更改为帐户,即使攻击者知道如何快速确定每个帐户的内容,仍然会使某人尝试强制执行散列算法变得非常困难.这是基于密码足够强的假设.(显然,找到一组密码的正确哈希值,它们都是两位数,比找到8位密码的正确哈希值要容易得多).我的逻辑是不正确的,还是我缺少的东西?

编辑:好的,所以这就是为什么我认为加密盐真的没有意义.(lemme知道我是否在正确的轨道上).

对于以下说明,我们假设密码总是8个字符,盐是5,所有密码都由小写字母组成(它只是使数学更容易).

Having a different salt for each entry means that I can't use the same rainbow table (actually technically I could if I …

security encryption hash brute-force

97
推荐指数
3
解决办法
2万
查看次数

为什么在Try ... Catch中使用Finally

我看到Finallyin Try .. Catch将始终在try catch块执行的任何部分之后执行.

是否有任何不同,只是跳过该Finally部分,然后在try catch块之外运行它?

示例1,尝试...抓住......最后......结束尝试

    Try
        'Do something
    Catch ex As Exception
        'Handle exception
    Finally
        'Do cleanup
    End Try
Run Code Online (Sandbox Code Playgroud)

例2,尝试......抓住......结束尝试......做最后的事情

    Try
        'Do something
    Catch ex As Exception
        'Handle exception
    End Try
    'Do cleanup
Run Code Online (Sandbox Code Playgroud)

.net vb.net exception-handling try-catch-finally

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

.NET Task实例在运行期间是否超出范围?

如果我在方法中使用以下代码块(使用.NET 4和任务并行库):

var task = new Task(() => DoSomethingLongRunning());
task.Start();
Run Code Online (Sandbox Code Playgroud)

并且该方法返回,该任务是否超出范围并被垃圾收集,或者它将运行完成?我没有注意到GCing的任何问题,但是我想确保我没有为GC设置竞争条件.

.net c# garbage-collection task task-parallel-library

42
推荐指数
2
解决办法
8587
查看次数

检查字符串中的特殊字符(/* - + _ @和$#%)?

如何检查字符串以确保它仅包含数字,字母或空格?

c# regex

41
推荐指数
5
解决办法
23万
查看次数

如何让jQuery Tablesorter默认排序降序?

我无法弄清楚这一点.这个问题也在这里被问到http://www.nabble.com/TableSorter-plugin---default-column-sort-DESC-instead--How--to25180761s27240.html#a25180761没有回应.

我试过了

    $.tablesorter.defaults.sortInitialOrder = 'desc';
Run Code Online (Sandbox Code Playgroud)

并将jquery.tablesorter.js文件更改为默认为'desc',但它不起作用.当我单击列标题时,第一个排序仍然是升序,因此用户必须单击两次才能下降值.

如何让Tablesorter默认按降序排序?

javascript jquery tablesorter

16
推荐指数
3
解决办法
2万
查看次数

泛型与数组列表

我在这里工作的系统是在.net 2.0之前编写的,并没有使用泛型.它最终更新到2.0,但由于时间限制,没有任何代码被重构.在许多地方,代码使用ArraysLists等将事物存储为对象.

从性能角度来看,将代码更改为使用泛型有多重要?我从性能的角度来看,拳击和拆箱等等,这是低效的,但是改变它会带来多大的性能提升?仿制药是否可以在前进的基础上使用,或者是否有足够的性能变化以便为更新旧代码做出良心努力?

c# generics performance

15
推荐指数
2
解决办法
5989
查看次数

人气算法

在SO 18上,Joel提到了一种算法,该算法可以根据项目的年龄和受欢迎程度对项目进行排名,它基于重力.有人发贴这个吗?C#会很可爱,但实际上任何语言(好吧,我不能做LISP)都没关系.

c# algorithm math

13
推荐指数
2
解决办法
3685
查看次数

防止使用后退按钮(在IE中)

因此,我目前就业地点的中小企业想要尝试禁用某些页面的后退按钮.我们有一个页面,用户进行一些选择并提交它们进行处理.在某些情况下,他们必须在另一页上输入评论.

用户已经想到的是,如果他们提交信息并转到带有评论的页面,则不必输入评论,然后点击后退按钮返回上一页.

我知道有几种不同的解决方案(其中许多解决方案比禁用后退按钮更优雅),但这就是我留下的.是否可以通过改变后退按钮的行为来阻止某人返回上一页.(比如提交 - >返回错误的排序).

由于双重发布信息,我不能让它返回上一页然后转移到当前页面.我只能直接离开当前页面.我用谷歌搜索它,但我只看到帖子说它将永远返回上一页.我希望有人有一些疯狂的功夫技能可以使这成为可能.

我知道每个人都说这是一个坏主意,我同意,但有时候你只需要做你所说的.

javascript internet-explorer back-button

12
推荐指数
3
解决办法
3万
查看次数

使用XPath /应用XSL转换遍历任意C#对象图

我一直在寻找一个允许我将任意C#对象传递给XSL转换的组件.

这样做的天真方法是使用XmlSerializer序列化对象图; 但是,如果你有一个大的对象图,就性能而言,这可能会导致问题.诸如循环引用,延迟加载,代理等问题可能会使这里的水域更加混乱.

更好的方法是使用某种实现IXPathNavigable和XPathNavigator的Adapter类.我遇到的一个这样的例子是来自Byte-ForceObjectXPathNavigator - 但是,它的大多数关键文档都是俄语的,我的初步测试似乎表明它有一些怪癖和特质.

有没有人知道(a)关于这个特定英语的任何资源(概述,教程,博客文章等)或(b)提供相同或类似功能的任何其他替代方案?

.net c# xml xslt xpath

10
推荐指数
2
解决办法
3705
查看次数

Javascript返回false,仍然提交表单

我有一个带有JS验证的表单,如果出现错误,提交按钮应该"灰显"并且表单不应该提交,但是最后几个函数似乎提交表单,即使它们弹出警告框! ?!?!

按钮代码:

<input type="submit" name="button" id="button" 
  onclick='return formvalidation();' value="Next" />
Run Code Online (Sandbox Code Playgroud)

非工作功能示例:

function BlankSite() {
    var SiteNum= document.getElementsByName("sitesinput")[0].value;
        if ((SiteNum == "") || (SiteNum == 0))
            {
        alert("You have not selected an amount of sites.")
        document.forms[0].button.disabled=true;
        return false;
            }
    }
Run Code Online (Sandbox Code Playgroud)

功能发起人:

function formvalidation()
{
    ZeroPhones();
    BlankPC();
    BlankSite();
    BlankSeats();
    phone_change();
}// End of formvalidation
Run Code Online (Sandbox Code Playgroud)

这很奇怪,我尝试了各种各样的工作都无济于事!

谢谢,B.

javascript forms

10
推荐指数
2
解决办法
3万
查看次数