标签: sha256

为什么这个 SHA256 函数会打印一些奇怪的字符?

这是代码

#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <byteswap.h>
#include "/usr/include/openssl/sha.h"
#include <evhttp.h>

bool hex2bin(unsigned char *p, const char *hexstr, size_t len);

bool hex2bin(unsigned char *p, const char *hexstr, size_t len)
{
while (*hexstr && len) {
    char hex_byte[3];
    unsigned int v;

    if (!hexstr[1]) {
        //applog(LOG_ERR, "hex2bin str truncated");
        return false;
    }

    hex_byte[0] = hexstr[0];
    hex_byte[1] = hexstr[1];
    hex_byte[2] = 0;

    if (sscanf(hex_byte, "%x", &v) != 1) {
        //applog(LOG_ERR, "hex2bin sscanf '%s' failed",
            //hex_byte);
        return false; …
Run Code Online (Sandbox Code Playgroud)

c sha256

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

在 C 中打印哈希值

我正在尝试在 C 中打印 SHA256 哈希值,但是当我使用下面所示的 for 循环时,打印哈希值的唯一方法是将换行符添加到 printf 中。理想情况下,我想将其全部打印在一行上。

void enclave_main()
{
    char string[] = "Hello World";
    int x;

    unsigned char digest[SHA256_DIGEST_LENGTH];
    SHA256_CTX sha256;
    SHA256_Init(&sha256);
    SHA256_Update(&sha256, string, strlen(string));
    SHA256_Final(digest, &sha256);

    for(x = 0; x < SHA256_DIGEST_LENGTH; x++)
        printf("%02x\n", digest[x]);

    sgx_exit(NULL);
}
Run Code Online (Sandbox Code Playgroud)

c hash hex byte sha256

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

如何验证 APK 上的签名证书是否与 SHA256 指纹匹配?

在此输入图像描述

请参阅屏幕截图。

如果我已经获取了 APK 文件,如何验证 APK 上的签名证书是否与上述 SHA256 指纹匹配?

android certificate sha256 fingerprinting apk

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

如何在C#中使用SHA256withRSA算法进行签名

我尝试了对我的查询的搜索解决方案,但无法找到我正在寻找的匹配项,这是非常基本的,但为了我更好地理解,我在下面发布了查询。

我想使用“SHA256withRSA”算法对我的字符串进行编码和签名。我可以使用“SHA256withRSA”在java中看到很多示例代码,但在C#中我可以看到首先我们使用SHA256对数据进行哈希处理,然后我们使用RSACryptoServiceProvider对哈希进行签名。

我的问题是:

  1. 在 C# 中,我们有单独的“SHA256withRSA”算法,如果是,请帮助提供示例代码。

  2. 如果不是,那么用 C# 实现它的更好方法是什么?

c# rsa sha256 rsa-sha256

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

短信验证码请求失败:未知状态码:17028 play_integrity_token 中的请求字段无效 - Flutter

E/FirebaseAuth(12806):[SmsRetrieverHelper] SMS 验证码请求失败:未知状态代码:17028 play_integrity_token 中的请求字段无效 D/FirebaseAuth(12806):+994503731324 电话验证失败后调用原始失败回调,错误 - 此应用程序是无权使用 Firebase 身份验证。请验证 Firebase 控制台中是否配置了正确的包名称、SHA-1 和 SHA-256。[ play_integrity_token 中的请求字段无效] I/flutter (12806):此应用无权使用 Firebase 身份验证。请验证 Firebase 控制台中是否配置了正确的包名称、SHA-1 和 SHA-256。[ play_integrity_token 中的请求字段无效]在此输入图像描述

sha1 token sha256 firebase flutter

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

在Windows Phone 7上使用SHA256加密算法

我在WPF应用程序中使用此代码:

 public static string EncryptString(string stringToEncrypt)
    {
        SHA256 hash = SHA256.Create();

        byte[] stringHash = System.Text.Encoding.ASCII.GetBytes(stringToEncrypt);
        byte[] encryptedString = hash.ComputeHash(stringHash);

        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < encryptedString.Length; i++)
            sb.Append(encryptedString[i].ToString("X2"));

        return sb.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

但它不适用于Windows Phone 7(SHA256.Create无法识别).

sha256 password-encryption windows-phone-7

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

如何使用SHA-256散列字符串

我试图使用SHA-256哈希我的用户密码字符串类型

我使用SHA-256使用以下方法散列字符串

String text = "abc";
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(text.getBytes("UTF-8"));
Run Code Online (Sandbox Code Playgroud)

要将btye数组转换为字符串,我使用以下方法

String doc2 = new String(hash, "UTF-8");
Run Code Online (Sandbox Code Playgroud)

当我打印doc2输出时,我得到了垃圾

?x????AA@?]?"#?a??z???a?
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ???如何使用SHA-256散列字符串并将其转换回字符串?

java string hash sha256

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

无法使用.net验证JSON Web令牌 - 密钥短

我用JSONWebTokennpm模块生成了一个jot:

var jwt = require('jsonwebtoken');

var payload = {
    "iss": "https://secure.example.com/",
    "exp": 1410819380,
    "http://example.com/orgnum": "987987987",
    "http://example.com/user": "me@example.com"
};

var token = jwt.sign(payload, 'secret');

console.log(token);
Run Code Online (Sandbox Code Playgroud)

这给了我以下输出:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NlY3VyZS5leGFtcGxlLmNvbS8iLCJleHAiOjE0MTA4MTkzODAsImh0dHA6Ly9leGFtcGxlLmNvbS9vcmdudW0iOiI5ODc5ODc5ODciLCJodHRwOi8vZXhhbXBsZS5jb20vdXNlciI6Im1lQGV4YW1wbGUuY29tIiwiaWF0IjoxNDA4Mzk0Mjk2fQ.5X5LTg4wxDF2p49xtsRcG4S9Yk4qSfW1tMEU0AquBhc

由于我没有指定我想要的算法,因此它使用SHA256.

现在,我尝试在c#中验证这一点.这并不容易......

我得到一个关于密钥大小的例外:

IDX10603:'System.IdentityModel.Tokens.InMemorySymmetricSecurityKey'不能小于:'128'位.Parameternavn:key.KeySize实际大小为48.

II尝试扩展密钥,在创建对称密钥时出现新错误:

Base-64 char数组或字符串的长度无效

我认为这与我告诉.net代码关于我的密钥的方式有关.由于SymmetricKeyIssuerSecurityTokenProvider构造函数参数已命名base64Key,我尝试对我的密钥进行Base64Url编码:

        var secret =  Base64UrlEncoder.Encode("secret");
        TokenValidationParameters validationParameters = new TokenValidationParameters
        {                
            ValidateIssuer = false,
            ValidateAudience = false,
            IssuerSigningTokens = new SymmetricKeyIssuerSecurityTokenProvider(issuer, secret).SecurityTokens
        };
Run Code Online (Sandbox Code Playgroud)

那么,我在这里缺少什么?
为什么jsonwebtoken.net不能用短键生成和验证jots?
为什么.net不能接受我给它的钥匙?

这是完整的.net代码,带有用长键签名的jot:

        var jwtToken =
            "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NlY3VyZS5leGFtcGxlLmNvbS8iLCJleHAiOjE0MTA4MTkzODAsImh0dHA6Ly9leGFtcGxlLmNvbS9vcmdudW0iOiI5ODc5ODc5ODciLCJodHRwOi8vZXhhbXBsZS5jb20vdXNlciI6Im1lQGV4YW1wbGUuY29tIiwiaWF0IjoxNDA4Mzk1NjY4fQ.ZceiiEO_Mn5_GZp5D_r68VTT33fbocn1BTTznD6u3cs";
        var secret = Base64UrlEncoder.Encode("super duper secret with some …
Run Code Online (Sandbox Code Playgroud)

.net c# sha256 jwt owin

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

"SHA-2"和"SHA-256"有什么区别

我对SHA-2和SHA-256之间的区别感到有点困惑,经常听到它们互换使用.我认为SHA-2是哈希算法的"族",而SHA-256是该族中的特定算法.任何人都可以清除混乱.

sha256 sha2

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

为什么Go sha256给出的结果与Ubuntu命令sha256sum不同?

在一个SO问题中给出的Golang playground 链接使用Go的sha256 lib比在Ubuntu linux中运行以下命令给出了不同的结果.

echo "sha1 this string" | sha256sum

Go的结果: fceab3bb749b11a43b89f21ccd28e3f5d8b38d5b23eeea960fc169ab482ee2cd

Linux结果: 62d44fd0392ed998179bfd4a162141d7000d1f9aa4fae26465e2e4f57d3a420e

这不是在Go中创建摘要的正确方法吗?有人能解释一下这里发生了什么吗?

ubuntu sha256 digest go

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