Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单向加密的更好方法_Java_Encryption_Aes - Fatal编程技术网

Java 单向加密的更好方法

Java 单向加密的更好方法,java,encryption,aes,Java,Encryption,Aes,我们有单向加密的要求。有谁能提出一个更好的解决方案 AES、DSA和Dygest salt分型方法 我认为Dygest盐是单向的,另一种是双向的,但不确定哪一种更安全。如果有人能指出这两者之间的性能比较,那就更好了。请随意推荐另一种算法(特定于一种方法) 退房。(对于那些不想点击链接的人,请查看PBKDF2和bcrypt。)您正在寻找“单向”加密。您正在寻找性能特征。您正在调用2个实现和一个概念(Dygest salt是概念性的) 您需要提出以下问题: 你想解密它吗 你在乎复制吗 普通加密是将一

我们有单向加密的要求。有谁能提出一个更好的解决方案

AES、DSA和Dygest salt分型方法


我认为Dygest盐是单向的,另一种是双向的,但不确定哪一种更安全。如果有人能指出这两者之间的性能比较,那就更好了。请随意推荐另一种算法(特定于一种方法)

退房。(对于那些不想点击链接的人,请查看PBKDF2和bcrypt。)

您正在寻找“单向”加密。您正在寻找性能特征。您正在调用2个实现和一个概念(Dygest salt是概念性的)

您需要提出以下问题:

  • 你想解密它吗
  • 你在乎复制吗
  • 普通加密是将一段已知数据转换为一组等效的数据,这些数据可以使用原始加密所用的密钥进行解密。大小(输入)=大小(输出)

    哈希是将大量文本压缩成比原始文本更容易比较的小字符串的概念。通常这意味着源数据比散列数据大得多

    密码学上,散列是将大量文本压缩成一个小字符串,其中内容的变化会导致显著不同的散列,这使得很难生成两个源,从而产生相同的散列

    散列应该比完全加密“更快”,因为我们根本不关心内容——事实上,您可以在中使用AES,这使您具有相同的特性,但最终产品是散列,而不是加密

    如果您永远不想获得纯文本,那么您应该始终使用哈希函数——它们是为相对快速的操作而设计的——它们不是免费的,但这就是重点。

    术语“单向加密”是误导性的

    是对称加密算法的一个示例(准确地说是a)。谁拥有加密密钥,谁也可以解密。通常情况下,分组密码不是单独使用的,而是使用一个

    根本不是加密算法。这是一个签名算法(实际上是三个算法的组合:密钥生成、签名、验证),我可以用我的私钥对一段数据进行签名,每个人都可以用相应的公钥检查签名。我还需要在签名之前对我的数据应用哈希函数

    (加密)散列算法(也称为(加密)消息摘要)通常是一个无密钥函数,它将(或多或少)任意大小的数据减少为固定大小的散列,因此很难找到两个不同的输入,这两个输入会产生相同的散列(通常还有更多的属性)。这是一种单向函数

    对于密码存储,我们不使用加密,而是使用一种散列形式,其中包括一个随机的salt,因此相同的密码和不同的salt会产生不同的结果。salt本身与散列一起存储,因此可以在以后检查密码。(这可能是您所指的消化盐

    我说的是单向。这不是暗示了我不需要解密吗?是的,但你的问题暗示了双向算法的使用