2012-06-07 29 views
2

我们需要单向加密。任何一个人可以建议更好的方法:单向加密的更好方法

AES,DSA和Dygest-salt enctyption方法?

我觉得Dygest盐是一种方式,其他都是双向的,但不能确定这是使用更安全。如果有人能指出这两者之间的性能比较会更好。随意推荐另一种算法(具体用于单向)。

回答

1

你要找的“单向”加密。您正在寻找性能特点。和你打电话了2个实现和概念(Dygest盐是概念上的)

你需要问以下几个问题:

  1. 你有没有想解密
  2. 你在乎复制

普通加密是将已知数据转换为可用原始加密密钥进行解密的等效数据集。尺寸(英寸)==尺寸(出)

散列是减少了大量语料文本成一个小字符串,可以更容易地比原来的文本比较的概念。通常这意味着源数据比散列数据大得多。

密码学上,哈希是将大量文本文本缩减为一个小字符串,其中内容的变化会导致明显不同的哈希,从而很难生成导致相同哈希的两个源。

散列应该比完全加密'更快',因为我们最终并不关心内容 - 实际上你可以在hashing mode中使用AES,这会给你留下相同的特征,但最终产品是散列,而不是比加密。

如果您不希望获得纯文本,那么你应该经常使用的哈希函数 - 他们设计的相对快速的操作 - 它们不是免费的,但就是这一点。

+0

我说的一种方法。这不是暗示我不需要解密吗? –

+0

是的,但你的问题暗指使用双向算法 – Petesh

5

术语“单向加密”具有误导性。

AES对称加密算法(准确地说,是block cipher)的示例。谁拥有加密密钥,谁也可以解密。您通常不是单独使用分组密码,而是使用mode of operation

DSA是不是在所有的加密算法。这是一个签名算法(或实际上是一个包含三个算法的密钥:密钥生成,签名,验证),我可以用我的私钥签署一段数据,并且每个人都可以使用相应的公钥检查签名。我还需要在签名前对我的数据应用散列函数。

A(加密)散列算法(也称为(密码)消息摘要)通常为无钥匙功能,并减少了(更多或更少)任意大小的数据,以固定大小的哈希值,以使得应该很难找到导致相同散列的两个不同输入(通常还有更多的属性)。这是一种单向函数

对于密码存储,我们不使用加密,而是一种散列形式,其中包括一个随机,以便相同的密码与不同的盐给出不同的结果。盐本身与散列一起存储,因此它可用于稍后检查密码。 (可能这就是你所说的Digest-Salt。) Also, you should not use a normal fast hash function, but a slow one.