标签: sha256

如何将Float的小数部分的前32位转换为Word32?

说我有浮动.我想要这个Float的小数部分的前32位?具体来说,我正在寻找sha256伪代码的这部分工作(来自维基百科)

# Note 1: All variables are unsigned 32 bits and wrap modulo 232 when calculating
# Note 2: All constants in this pseudo code are in big endian

# Initialize variables
# (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
h[0..7] := 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
Run Code Online (Sandbox Code Playgroud)

我天真地尝试做地板(((sqrt 2) - 1)*2 ^ 32),然后将返回的整数转换为Word32.这根本不是正确的答案.我认为通过乘以2 ^ 32的功率,我实际上将它移动了32个位置(在地板之后).显然,并非如此.无论如何,长期和短期是,我如何生成h [0..7]?

floating-point haskell sha sha256

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

如何检查字符串是否是PHP中的有效sha256哈希?

如何使用PHP识别sha256哈希?另外,有没有办法确定字符串是否是sha256哈希,即使它是盐渍的?

我不需要知道哈希的真正价值(我知道这是不可能的),但我只需要验证字符串,所以如果字符串是sha256哈希,我可以以某种方式工作,如果它是另一种方式不是.

php encryption hash sha sha256

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

i2p会话密钥生成怀疑泄漏

我最近在I2P源代码(Java)中发现了以下片段:

private final SessionKey calculateSessionKey(BigInteger myPrivateValue, BigInteger publicPeerValue) {
    SessionKey key = new SessionKey();
    BigInteger exchangedKey = publicPeerValue.modPow(myPrivateValue, CryptoConstants.elgp);
    byte buf[] = exchangedKey.toByteArray();
    byte val[] = new byte[32];
    if (buf.length < val.length) {
        System.arraycopy(buf, 0, val, 0, buf.length);
                    ... //irrelevant details
    } else { // (buf.length >= val.length)
        System.arraycopy(buf, 0, val, 0, val.length);
                   ... //irrelevant details
    }
    key.setData(val);
    return key;
}
Run Code Online (Sandbox Code Playgroud)

据我所知,前256位buf[]被直接复制到会话密钥,并且没有运行SHA256摘要.我不是加密专家(也不是java),任何人都可以解释我,这不是安全漏洞吗?我的意思是,在标准的Diffie-Hellman维基页面中,SHA哈希也在密钥上运行.如果确实如此,您是否也可以举例说明如何利用它?

security cryptography sha256

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

当您知道答案是坐标时,是否可以破解SHA256?

我需要破解sha256哈希,我知道答案是坐标,但我不知道坐标值的例子是什么:

3f1c756daec9ebced7ff403acb10430659c13b328c676c4510773dc315784e4e
58.375782 26.742632
Run Code Online (Sandbox Code Playgroud)

是否有可能创建一个python脚本,使两个变量(值均为00.000000),然后将它们添加到togheter(例如:) k=i+" "+j,然后将k转换为sha256并将其与sha256进行比较,我试图破解.如果它不等于sha256被破解,那么它再次添加i一个值(i=i+00.000001)和triess.等等等等

python cracking sha256 coordinates

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

番石榴版本之间的哈希问题

我正在使用guava 14来执行String散列,如下所示:

Hashing.sha256().newHasher().putString("String").hash().toString();
Run Code Online (Sandbox Code Playgroud)

=>

4d1ca6dce72e20ce214b706168340683bb6b571a7c977c1a9fe029a1cc1c4d06
Run Code Online (Sandbox Code Playgroud)

刚升级到guava16,

调用这个函数: Hashing.sha256().newHasher().putString("String", Charsets.UTF-8).hash().toString()给我一个不同的结果.

=>

b2ef230e7f4f315a28cdcc863028da31f7110f3209feb76e76fed0f37b3d8580
Run Code Online (Sandbox Code Playgroud)

我怀疑旧版本使用的是默认字符集,但是在guava16上切换Charsets不会给我与guava14相同的结果.我在这做错了什么?

hash sha256 guava

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

在Java中使用盐与PHP完全相同的哈希?(SHA-256)

我可以用PHP在PHP中哈希:

$orig_pw = "abcd";
$salt = 5f8f041b75042e56;
$password = hash('sha256', $orig_pw . $salt);
Run Code Online (Sandbox Code Playgroud)

(这不是我实现它的方式,这只是一个例子.盐对每个人都不同)

有了这个,存储的密码是:

bc20a09bc9b3d3e1fecf0ed5742769726c93573d4133dbd91e2d309155fa9929
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试在Java中做同样的事情,我会得到不同的结果.我试过了String password = "abcd";

byte[] salt = hexStringToByteArray("5f8f041b75042e56");

try {
    System.out.println(new String(getHash(password, salt)));
} catch (NoSuchAlgorithmException e1) {
    e1.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

这两种方法:

public byte[] getHash(String password, byte[] salt) throws NoSuchAlgorithmException {
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        digest.reset();
        digest.update(salt);
        try {
            return digest.digest(password.getBytes("UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }


public byte[] hexStringToByteArray(String s) {
        int len = s.length();
        byte[] data = new …
Run Code Online (Sandbox Code Playgroud)

php java sha256

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

如何用sha256生成sha256的sha256输出

我写了一些生锈问题的锈迹代码.

let mut sha256 = Sha256::new();
sha256.input_str(input.as_slice());

for i in range(0i,16) {
    println!("i == {}, hash == {}", i, sha256.result_str());
    let bytes = sha256.result_bytes().as_slice();
    sha256.input(bytes);
}
Run Code Online (Sandbox Code Playgroud)

错误是:

$ cargo build && ./target/hello_world asdfasdf
   Compiling hello_world v0.1.0 (file:///home/chris/hello_world)
src/hello_world.rs:41:21: 41:42 error: borrowed value does not live long enough
src/hello_world.rs:41         let bytes = sha256.result_bytes().as_slice();
                                          ^~~~~~~~~~~~~~~~~~~~~
src/hello_world.rs:39:27: 43:6 note: reference must be valid for the block at 39:26...
src/hello_world.rs:39     for i in range(0i,16) {
src/hello_world.rs:40         println!("i == {}, hash == {}", i, sha256.result_str()); …
Run Code Online (Sandbox Code Playgroud)

sha256 lifetime rust

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

openSSL如何使用SHA256签署证书

我想知道如何使用openSSL工具以sha256作为消息摘要来签署证书签名请求.

我不太明白摘要是否已在请求中计算,或者是否由CA计算.

对于创建请求,工具req允许指定要使用的消息摘要,-sha256是一个选项.

但是,为了签署请求,openSSL提供了两个工具:cax509.但是,这些都不允许使用sha256.根据官方文档,ca仅支持md5,sha1和mdc2.x509仅支持md2,md5,sha1,mdc2.

谢谢.

ssl openssl sha256 ssl-certificate

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

如何在Angular2中实现SHA-256加密

在发出API请求之前,我需要在SHA256中加密我的密码.我无法在Angular2中找到任何SHA-256的实现

javascript sha256 angular

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

BigQuery SHA256功能

我需要使用哈希一些字符串SHA256.使用BigQuery这样做会导致我理解为BASE64结果,因为我需要不同的东西.

例如,如果我想散列"def@gmail.com",结果应该是:

c392e50ebeca7bea4405e9c545023451ac56620031f81263f681269bde14218b

但这样做BigQuery:

SELECT SHA256("def@gmail.com") as sha256;
Run Code Online (Sandbox Code Playgroud)

结果是:

w5LlDr7Ke + pEBenFRQI0UaxWYgAx + BJj9oEmm94UIYs =

这是我需要得到的第一个结果,如果可能的话,任何想法BigQuery,我试图避免需要使用javascript它.

hash sha256 google-bigquery

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