问题列表 - 第25951页

如何在innosetup脚本中查询用户的语言选择?

如何知道用户选择在innosetup中安装设置的语言?我使用innosetup 5.3打包我的应用程序,它是一个多语言应用程序,所以如果我知道用户选择安装软件包的语言将是有用的.提前致谢.

multilingual desktop-application inno-setup

6
推荐指数
2
解决办法
5256
查看次数

每个用户的随机盐可以用迭代散列替换吗?

在构建我希望的是一个正确架构的身份验证机制的过程中,我遇到了很多指定的材料:

  1. 用户密码必须是盐渍的
  2. 使用的盐应足够随机并按用户生成
  3. ...因此,必须将盐与用户记录一起存储,以支持验证用户密码

我完全同意第一点和第二点,但似乎后者有一个简单的解决方法.而不是做相当于(伪代码):

salt = random();
hashedPassword = hash(salt . password);
storeUserRecord(username, hashedPassword, salt);
Run Code Online (Sandbox Code Playgroud)

为什么不使用用户名的哈希作为盐?这产生了一个分布均匀(大致)随机的盐的区域,并且每个单独的盐与盐功能所提供的一样复杂.更好的是,您不必将salt存储在数据库中 - 只需在身份验证时重新生成它.更多伪代码:

salt = hash(username);
hashedPassword = hash(salt . password);
storeUserRecord(username, hashedPassword);
Run Code Online (Sandbox Code Playgroud)

(当然,hash在上面的例子中应该是合理的,比如SHA-512,或者其他一些强哈希.)

这对我来说似乎是合理的,因为我知道加密的内容很少(但很少),但事实上这是对广泛推荐的练习的简化,这让我想知道是否有一些明显的原因让我误入歧途,我不知道.

编辑有些人似乎没有意识到问题是什么.我无法建议不使用盐.参考TheRook的编辑答案:我熟悉那些CWE中提到的参考文献.我的核心问题是:为什么hash(用户名)是可预测的盐?

编辑2感谢所有提供答案的人; biffabacon在他的第2段直接解决了我的核心问题(基本上,你可以做的任何事情,以最大限度地使用盐的域,因此生成的哈希密码是好的),但在这个问题的各种评论中有很多美味的信息.

security authentication encryption cryptography

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

游标中的order by子句

如何在游标中排序数据?我们可以使用order by clause吗?因为我需要先对数据进行排序。

谢谢

sql cursor

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

如何为PHP设置env变量?

我正在使用WAMP.我想在命令提示符下使用php.PATH env变量的条目是什么?

php windows wamp

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

变量赋值和读取原子操作?

我在文件中找不到任何参考资料......

从线程的角度分配一个double(或任何其他简单类型,包括boolean)的原子操作?

double value = 0;

public void First() {
 while(true) {
  value = (new Random()).NextDouble();
 }
}

public void Second() {
 while(true) {
  Console.WriteLine(value);
 }
}
Run Code Online (Sandbox Code Playgroud)

在此代码示例中,第一个方法在一个线程中调用,第二个方法在另一个线程中调用.如果第二种方法在另一个线程中赋值变量时获得执行,那么第二种方法是否可以获得混乱值?

我不在乎是否收到旧值,接收有效值(不是设置8个字节中的2个)的唯一重要.我知道这是一个愚蠢的问题,但我想确定,因为我不知道CLR如何实际设置变量.

.net c# multithreading variable-assignment

35
推荐指数
1
解决办法
4513
查看次数

找到指针的大小

printf("pointer: %d\n", sizeof(*void));
Run Code Online (Sandbox Code Playgroud)

由于*,此行导致语法错误.我该怎么办才能让它发挥作用?

c

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

function().function()VS function()函数()

我在PHP5中编写了一个foreach循环.这是脚本:

foreach(range('A','Z') as $char) // line 1
{ // line 2
echo strtoupper($char)strtolower($char); // line 3
} // line 4
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息解析错误:解析错误,第3行的testing.php中出现意外的T_STRING

我花了将近一个小时来弄清楚我应该在两个函数之间添加一个点,如下所示:

echo strtoupper($char).strtolower($char);
Run Code Online (Sandbox Code Playgroud)

所以我无法区分这两行代码:

echo strtoupper($char).strtolower($char);
echo strtoupper($char)strtolower($char);
Run Code Online (Sandbox Code Playgroud)

php

1
推荐指数
1
解决办法
299
查看次数

ListBox SelectedItems绑定

我想将Listbox selectedItems绑定到数组.但.NET在运行时抛出异常.

d.SetBinding(ListBox.SelectedItemsProperty, new Binding { Source = SomeArray });
Run Code Online (Sandbox Code Playgroud)

dXAML中的一些ListBox 在哪里.

例外:

所选项目无法绑定.

为什么?

c# data-binding wpf

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

合并多个数组,然后按数组值计数排序

请帮助我,我需要合并多个数组,然后按数组值计数排序.以下是问题:

$array1 = array("abc", "def", "ghi", "jkl", "mno");
$array2 = array("mno", "jkl", "mno", "ghi", "pqr", "stu");
$array3 = array_merge($array1, $array2);
$array4 = ???

print_r($array4);
Run Code Online (Sandbox Code Playgroud)

我想要这样的回报$array4:

Array
(
[0] => mno
[1] => ghi
[2] => jkl
[3] => abc
[4] => def
[5] => pqr
[6] => stu
)
Run Code Online (Sandbox Code Playgroud)

php arrays sorting merge array-merge

6
推荐指数
1
解决办法
1891
查看次数

SQL查询中的SQL查询速度很慢,但在SQL Server Management Studio中是即时的

这是SQL

SELECT tal.TrustAccountValue
FROM TrustAccountLog AS tal
INNER JOIN TrustAccount ta ON ta.TrustAccountID = tal.TrustAccountID
INNER JOIN Users usr ON usr.UserID = ta.UserID
WHERE usr.UserID = 70402 AND
ta.TrustAccountID = 117249 AND
tal.trustaccountlogid =  
(
 SELECT MAX (tal.trustaccountlogid)
 FROM  TrustAccountLog AS tal
 INNER JOIN TrustAccount ta ON ta.TrustAccountID = tal.TrustAccountID
 INNER JOIN Users usr ON usr.UserID = ta.UserID
 WHERE usr.UserID = 70402 AND
 ta.TrustAccountID = 117249 AND
 tal.TrustAccountLogDate < '3/1/2010 12:00:00 AM'
)
Run Code Online (Sandbox Code Playgroud)

Basicaly有一个Users表,一个TrustAccount表和一个TrustAccountLog表.
用户:包含用户及其详细信息
TrustAccount:用户可以拥有多个TrustAccounts.
TrustAccountLog:包含对所有TrustAccount"移动"的审计.一个
TrustAccount与多个TrustAccountLog项关联.现在这个查询在SQL Server Management …

c# sql-server performance

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