标签: sha256

SHA256CryptoServiceProvider和相关的可能在WinXP上使用?

是否可以在Windows XP上使用SHA256CryptoServiceProvider和相关的SHA2提供程序?我知道提供商使用Vista中包含的加密服务以上是否可以在Microsoft的XP中安装这些服务?

编辑:我应该提供更多信息,MSDN上的文档在Windows XP中受支持是错误的.请参阅http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=355031,其中Microsoft已确认并接受此设计.然而,在任何地方都没有列出任何工作(我看到)所以我不确定是否可以安装这需要正常工作的服务,或者是否像在试图在WinXP上安装IIS 6或7的windwills倾斜.

c# security encryption sha256

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

是否存在可以保证哈希算法唯一的情况?

如果我使用比数据(例如sha-256)更大的字节大小的散列算法散列大小受限的类似数据(例如社会安全号),那么散列将保证与单词相同的唯一性级别.原始数据?

hash hash-code-uniqueness unique sha256

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

SHA256的输出格式是什么

SHA256的输出格式是什么?它只由字母和数字组成?它不区分大小写?

sha sha256

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

如何在java中更快地计算sha256?

我发现在java中计算sha256很慢.例如,它比python慢​​.我写了两个简单的基准测试来计算1GB零的sha256.在这两种情况下,结果都是相同且正确的,但是python时间是5653ms,java时间是8623ms(慢了53%).结果每次都相似,这对我来说是一个重要的区别.

如何更快地在java中进行计算?

基准:

Java的:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class BenchmarkSha256 {

  public static void main(String... args) throws NoSuchAlgorithmException {
    int size = 1024 * 1024;
    byte[] bytes = new byte[size];
    MessageDigest md = MessageDigest.getInstance("SHA-256");
    long startTime = System.nanoTime();
    for (int i = 0; i < 1024; i++)
      md.update(bytes, 0, size);
    long endTime = System.nanoTime();
    System.out.println(String.format("%1$064x", new java.math.BigInteger(1, md.digest())));
    System.out.println(String.format("%d ms", (endTime - startTime) / 1000000));
  }

}
Run Code Online (Sandbox Code Playgroud)

蟒蛇:

#!/usr/bin/env python

import hashlib
import time

size = 1024 * 1024 …
Run Code Online (Sandbox Code Playgroud)

java optimization sha sha256

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

在Android上使用SHA256的PBKDF2

我想使用带有SHA256的PBKDF2生成密码的派生哈希.与此SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1")这项工作,但它使用SHA1.随着SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256")(或SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256","SC")与spongycastle一起)我有一个错误.

如何使用PBKDF2WithHmacSHA256成功生成哈希?

encryption android sha256 pbkdf2

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

为什么PHP的hash_hmac('sha256')给出的结果与java sha256_HMAC不同

在PHP中我有以下功能:

base64_encode(hash_hmac('sha256', $data, $secret, false));
Run Code Online (Sandbox Code Playgroud)

我正在尝试在Java中创建一个函数,它将为相同的"数据"和"秘密"参数提供相同的结果.

我试着使用这个功能:

public static String base64sha256(String data, String secret) {
    Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
    SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256");
    sha256_HMAC.init(secret_key);
    byte[] res = sha256_HMAC.doFinal(data.getBytes());
    return Base64.encodeToString(res, Base64.NO_WRAP);
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了相同输入的不同结果


更新:此功能有效.请享用.

public static String base64sha256(String data, String secret) {
    String hash = null;
    try {
        Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
        SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256");
        sha256_HMAC.init(secret_key);
        byte[] res = sha256_HMAC.doFinal(data.getBytes("UTF-8"));
        hash = getHex(res);
        hash = Base64.encodeToString(hash.getBytes("UTF-8"), Base64.NO_WRAP);
    } catch (Exception e){}
    return hash;
}

static …
Run Code Online (Sandbox Code Playgroud)

php java sha256

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

为什么我的Java和命令行SHA256输出不同?

我在命令行中使用散列字符串而不是在Android上的Java中获得不同的输出.我确定我做错了什么,但我看不出是什么.

命令行:

kevin@aphrodite:~$ echo derp | sha256sum
ee673d13de31533a375b41d9e57731d9bb4dbddbd6c1d2364f15be40fd783346  -
Run Code Online (Sandbox Code Playgroud)

Java的:

final String plaintext = "derp";
final MessageDigest md;
try {
    md = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e) {
/* SHA-256 should be supported on all devices. */
    throw new RuntimeException(e);
}
final String inputHash = bytesToHex(md.digest(plaintext.getBytes()));
Log.debug(TAG, "input hash: " + inputHash);
Run Code Online (Sandbox Code Playgroud)

Java输出:

10-05 13:32:57.412: D/Config(12082): input hash: 3f4146a1d0b5dac26562ff7dc6248573f4e996cf764a0f517318ff398dcfa792
Run Code Online (Sandbox Code Playgroud)

这是bytesToHex(...)我在另一个问答中找到的方法.我确认通过记录Integer.toHexString(b)每个来做正确的事情b.

private static final char[] hexDigit = "0123456789abcdef".toCharArray();

private static String bytesToHex(byte[] bytes) {
    char[] …
Run Code Online (Sandbox Code Playgroud)

java sha256

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

使用crypto node.js库,无法快速连续多次创建SHA-256哈希

我正在创建一个自动递增数字的哈希值.我已经创建了两个示例循环,我正在尝试实现此目的.

运行#1时,第一个哈希记录到控制台,第二次迭代通过循环,返回以下错误.错误:已经调用摘要

我相信这是由于文档中的这个引用:在调用hash.digest()方法之后,不能再使用Hash对象.多次调用将导致抛出错误.

如何创建一个使用Node的加密库一次创建多个哈希的循环?

 // Reproduce #1
 const crypto = require('crypto');
 const hash = crypto.createHash('sha256');
 for (let i = 0; i < 5; i++) {
   hash.update('secret' + i);
   console.log(hash.digest('hex'));
 }
Run Code Online (Sandbox Code Playgroud)

javascript cryptography sha256 digest node.js

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

SHA-256有多少组合?

通过使用在线工具和维基百科我发现每个sha-256加密字符串是包含数字和字符的64个字符长.因此我假设有34 ^ 36个组合(2 ^ 216由代数计算器简化).经过一些研究后我发现大多数人说有2 ^ 256种组合.有人能解释一下吗 为了使上下文清晰,我写了一篇关于加密货币的论文,并尝试解释有多少不同的加密组合以及可以花多长时间(因此可以进行多少次猜测)并将其与总的原子数进行比较.宇宙(大约10 ^ 85).

sha256 bitcoin

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

如何将crypto :: sha2 :: Sha256哈希转换为&[u8]表示?

我目前正在尝试从SHA256哈希(通过rust-crypto包)生成ED25519密钥对:

extern crate crypto; // rust-crypto = "0.2.36"

use crypto::ed25519;
use crypto::sha2::Sha256;
use crypto::digest::Digest;

fn main() {
    let phrase = "purchase hobby popular celery evil fantasy someone party position gossip host gather";
    let mut seed = Sha256::new();
    seed.input_str(&phrase);
    let (_priv, _publ) = ed25519::keypair(&seed); // expects slice
}
Run Code Online (Sandbox Code Playgroud)

但是,我完全不明白如何正确地将SHA256传递给ed25519::keypair()函数.我追溯到&seed.result_str()结果:

"fc37862cb425ca4368e8e368c54bb6ea0a1f305a225978564d1bdabdc7d99bdb"
Run Code Online (Sandbox Code Playgroud)

这是正确的哈希,而&seed.result_str().as_bytes()结果是:

[102, 99, 51, 55, 56, 54, 50, 99, 98, 52, 50, 53, 99, 97, 52, 51, 54, 56, 101, 56, 101, 51, …
Run Code Online (Sandbox Code Playgroud)

sha sha256 rust

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