标签: sha256

.Net SHA256Managed产生无效散列

我正在编写一个函数来在文件上生成SHA256哈希.这是我使用的代码

public string ComputeHash(Byte[] inputBytes)
    {
        Byte[] hashedBytes = new SHA256Managed().ComputeHash(inputBytes);
        return BitConverter.ToString(hashedBytes);
    }
Run Code Online (Sandbox Code Playgroud)

非常简单.事实上,根据我尝试的一些工具,产生的散列似乎没有效果,实际上,它与我见过的任何其他sha256字符串不同(甚至不是256字节).例如,一个结果是

12-10-B2-60-24-75-11-95-B5-F7-F6-64-39-C3-22-9F-E7-E7-D4-13-69-18-99-C5-A7-C5-EC-2F-E2-D6-09-19
Run Code Online (Sandbox Code Playgroud)

即使我修剪掉每一个字符,一切都是大写的,而我总是看到小写的代表.(这也是一个问题)我想知道我是否以正确的方式使用该库.请帮忙

.net hash cryptography sha256

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

是使用AES或SHA256的sjcl.encrypt

我正在使用SJCL库来加密/解密消息.我的问题是我不知道哪个使用AES或SHA256

这是我的代码:

var h = sjcl.codec.hex, count = 2048 ;
salt = h.fromBits(sjcl.random.randomWords('10','0'));
var key = h.fromBits( sjcl.misc.pbkdf2(somePassword, h.toBits(salt), count) ) ;
Run Code Online (Sandbox Code Playgroud)

接下来我可以加密/解密

var encMessage = sjcl.encrypt(key, message) ;
sjcl.decrypt(key, encMessage) ;
Run Code Online (Sandbox Code Playgroud)

AES或SHA256还是其他什么?

javascript encryption aes sha256 sjcl

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

sha256sum可执行文件和PyCrypto库之间存在差异

我试图获取ASCII编码字符串的SHA256总和.首先,我尝试了sha256sum可执行文件:

$ echo foo | sha256sum
b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
Run Code Online (Sandbox Code Playgroud)

但是当我使用这个PyCrypto库时,我会得到一些不同的东西:

from Crypto.Hash import SHA256
h = SHA256.new();
h.update('foo');
print(h.hexdigest());
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

c5aac592460a9ac7845e341090f6f9c81f201b63e5338ee8948a6fe6830c55dc
Run Code Online (Sandbox Code Playgroud)

我怀疑我错过了关于第一个的东西,也就是说,echo foo可能有分隔符或其他东西,但我无法弄清楚是什么.

这两种情况有什么不同?

python command-line sha256

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

我需要在Windows 8上使用Sha256使用密钥散列消息

所以在过去,我曾经使用过Windows 8中没有的System.Security.Cryptography.我在Windows 8中找到的是windows.security,但我没有找到任何关于如何使用Sha256键的示例.这是我在System.Security.Cryptography中使用的旧代码

        string appID = "appid";
        string key = "password";
        var hmacsha256 = new HMACSHA256(Encoding.Default.GetBytes(key));
        hmacsha256.ComputeHash(Encoding.Default.GetBytes(appID));
        string k = "";
        foreach (byte test in hmacsha256.Hash)
        {
            k += test.ToString("X2");
        }
Run Code Online (Sandbox Code Playgroud)

c# sha256 windows-8

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

SHA2中有多少熵(RAND(),256)?

熵的位数是多少

SELECT SHA2(RAND(), 256);
Run Code Online (Sandbox Code Playgroud)

生成?

(实际问题:这是为密码生成随机盐的合理方法吗?)

mysql security passwords salt sha256

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

SHA256用于计算散列的文件的哪些部分

我正在通过网络传输文件.传输过程中数据丢失容忍度为零.我被要求计算原始文件和复制文件的SHA256值,以验证内容是否相同.到目前为止,我已经基于复制和粘贴文件进行了比较,并让Windows使用附加到文件名的-copy重命名文件.我也尝试在重命名之后重命名文件,以及删除文件扩展名.到目前为止,它们都产生相同的哈希值.我还编写了更改文件属性的代码(刚刚更改了lastWrittenTime和fileCreationTime),这似乎对哈希没有影响.

Checksum result of copying and pasting a file(explorer appends "-copy to name):

E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7

Checksum result of renaming the -copy in explorer:

E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7

Checksum result of changing file extension:

E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
Run Code Online (Sandbox Code Playgroud)

创建哈希时,文件的哪个部分被使用?

好的,零容忍度有点多,如果散列不匹配,则必须重新发送该文件.

.net c# sha256

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

HMAC sha256在c#中返回不同于python的值

我需要将一些python代码移植到c#中,我在这行中遇到了一些问题:

蟒蛇

hmac.new(key, message,digestmod=hashlib.sha256).digest()
Run Code Online (Sandbox Code Playgroud)

C#

HMACSHA256 hm = new HMACSHA256(key);
byte[] result = hm.ComputeHash(enc.GetBytes(message));
Run Code Online (Sandbox Code Playgroud)

当密钥和消息相同(逐字节检查)时,为什么我在C#中得到不同的结果?

c# python sha256

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

用SHA-256句子比较一个字符串

我想比较两个字符串:

  • "password"
  • "5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8" (同样但在SHA-256中).

通常情况下,函数isPassValid()会返回给我true,但我有一个false回复.为什么?

这是我的代码:

public static boolean isPassValid(){
    String hash = bin2hex(getHash("password"));
    return hash.equals("5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8");
}

private static byte[] getHash(String password) {
    MessageDigest digest=null;
    try {
        digest = MessageDigest.getInstance("SHA-256");
    } catch (NoSuchAlgorithmException e1) {
        e1.printStackTrace();
    }
    assert digest != null;
    digest.reset();
    return digest.digest(password.getBytes());
}

private static String bin2hex(byte[] data) {
    return String.format("%0" + (data.length*2) + "X", new BigInteger(1, data));
}
Run Code Online (Sandbox Code Playgroud)

android sha256

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

顺序SHA 256哈希为同一输入提供不同的输出

我认为这将是一个相当普遍和直接的问题,但我搜索并无法找到它.

我是一名新手Python用户,大多是自学成才.我正在尝试我认为相当简单的练习:从输入短语生成哈希值.这是我的代码:

import hashlib
target = input("Give me a phrase: ").encode('utf-8')
hashed_target = hashlib.sha256(target)
print(hashed_target)
Run Code Online (Sandbox Code Playgroud)

我执行此操作并获得提示:给我一个短语:

我输入了"给我自由或给我死亡!"这句话.并得到哈希输出0x7f8ed43d6a80.

为了测试,我用同样的短语再次尝试,但得到了不同的输出:0x7f1cc23bca80.

我觉得这很奇怪,所以我复制了原始输入并将其粘贴进去,得到了第三个不同的哈希输出:0x7f358aabea80.

我敢肯定必须有一个简单的解释.我没有收到任何错误,代码看起来很简单,但是哈希值虽然相似但肯定是不同的.

有人可以帮忙吗?

python hash sha256 hashlib

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

SHA256摘要在数组初始化程序和字符串之间有所不同

我使用Microchip ATECC508A安全芯片的sha256功能。我的代码如下所示:

int main(void) {
    uint8_t message[32] = {0}; // Method 1
    //uint8_t message[32] = "00000000000000000000000000000000"; // Method 2
    foobar(message, sizeof(message));
}

void foobar(uint8_t *message, int length) {
    uint8_t digest[32];
    sha256(message, length, digest);
    // printf statements for calculated hashes ...
}
Run Code Online (Sandbox Code Playgroud)

方法1:66687AADF862BD776C8FC18B8E9F8E20089714856EE233B3902A591D0D5F2925

方法2:84E0C0EAFAA95A34C293F278AC52E45CE537BAB5E752A00E6959A13AE103B65A

方法2推导了我期望的32个零的对应哈希,但是当我在方法1中使用静态数组初始化程序时,哈希是错误的,我也不知道为什么。我在这里检查了生成的sha256哈希值。

我将不胜感激,非常感谢。

编辑:

我能够使用零字符来初始化整个数组:

uint8_t message[32] = { [0 ... 31] = '0'}

这仅适用于gcc编译器。

c hash sha256

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