标签: sha256

Free Pascal有没有办法实现SHA256或SHA512?

在Free Pascal库中,有一个哈希库,可以使用MD5和SHA1哈希算法(http://wiki.freepascal.org/hash).但是如果我想使用更高的一个,例如SHA256或SHA512呢?我可以使用Free Pascal实现这一目标吗?搜索FP Wiki重新调整SHA256\SHA512的零点击率.

freepascal sha256 sha512

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

如何创建一个mysql"sha-256"列?

对于密码列,是否存在使用"sha-256"存储密码的mysql功能?或者我应该在Java代码中将其哈希(比如如何在Java中使用sha256散列一些字符串?),然后再将其存储在数据库中,然后每次哈希密码输入并与数据库列值进行比较以进行身份​​验证?

TIA.

java mysql encryption sha256

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

Golang加密多个调用有不同的响应

我遇到了一些我为密码认证库编写的Go代码的问题.一般的想法是提供2个函数,Check()和New(),它们都提供了密码和256位HMAC密钥.Check()函数还提供256位salt和256位散列,并返回一个布尔值.New()函数返回一个新的随机salt,它是相应的哈希值.这两个函数都依赖于辅助函数hash(),它使用scrypt进行键延长,并且可以生成输出哈希.

当我最初编写它时,这是有效的(事实证明,我已经使用了早期丢失的代码修订版生成的测试数据).

我现在遇到的问题是,当提供由旧版本代码生成的数据时,Check()函数似乎工作得很好,但现在似乎失败了代码自己的New()函数生成的任何数据(两者都使用底层的hash()函数).

我知道,我应该从一开始就有git版本控制代码!我现在已经吸取了教训.

我已将函数分组并将问题快速演示到一个.go文件中,如下所示,并添加了一些输出用于调试:

package main

import (
    "code.google.com/p/go.crypto/scrypt"
    "crypto/hmac"
    "crypto/rand"
    "crypto/sha256"
    "crypto/subtle"
    "errors"
    "fmt"
    "io"
)

// Constants for scrypt. See code.google.com/p/go.crypto/scrypt
const (
    KEYLENGTH = 32
    N         = 16384
    R         = 8
    P         = 1
)

// hash takes an HMAC key, a password and a salt (as byte slices)
// scrypt transforms the password and salt, and then HMAC transforms the result.
// Returns the resulting 256 bit hash.
func hash(hmk, pw, s []byte) (h []byte, …
Run Code Online (Sandbox Code Playgroud)

cryptography sha256 go hmac scrypt

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

寻找比 MD5 或 SHA256 更快的 C# 哈希

我正在尝试找到可能比 SHA256 更快的东西。我有超过 10 亿条记录需要散列并验证它们是否唯一。我目前正在通过 MD5 运行它,它看起来很快,然后通过 sha256 以避免冲突。按照这个顺序运行它们似乎给了我一点性能提升,但我仍然需要它更快。我正在寻找在 c# 或一些伪代码中完成的一些哈希的名称或示例,以便我可以在 c# 中重新创建它。

c# hash md5 cryptography sha256

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

从具有多个签名的签名可执行文件中读取证书数据

微软正在远离SHA1.结果,许多可执行文件现在具有两个或更多个签名; 一个使用SHA1摘要以实现向后兼容,另一个使用SHA256.

例如,如果您查看vstest.executionengine.exeVisual Studio 2013的属性(查看Windows 8或Server 2012上的属性),您将看到它有来自3个不同证书的3个不同签名.

我已经有一个使用的组合代码CryptQueryObject,CryptMsgGetParam和.NET SignedCms,但它只能看到3个签名1.一个签名者似乎只有一条消息.

我需要获取所有签名的证书信息.如何对多个签名进行建模 - 是单个消息中的多个消息还是多个签名者?Microsoft是否添加了新的API或新标志来访问多个签名?

sha1 sha256 authenticode cryptoapi digital-signature

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

是否有内置方法或插件可以让 Jenkins 为我的工件生成 SHA256 哈希?

我的新公司霸主要求我在客户门户上拥有每个工件的 SHA256 哈希值。当然,我可以自己生成或在构建脚本或 Makefile 中生成它,但这感觉就像 Jenkins 能够做的那样。

build sha256 jenkins jenkins-plugins

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

Java 安全性 - 使用公钥进行 X509 证书验证

我正在做的一个项目有这么多安全操作。我以前从未遇到过安全问题。因此,我的问题可以是初学者级别。

在我的问题中,我得到一个字节数组数据,它有一个证书和一些其他参数。我需要验证此证书及其签名。但我无法处理签名验证。事实上,我不知道我应该使用哪个公钥来验证。

代码如下。感谢帮助..!

public boolean startValidation(PublicKey publicKey) {
    CertificateFactory cf;
    try {
         cf = CertificateFactory.getInstance("X.509");
    } catch (CertificateException e) {
        e.printStackTrace();
        return false;
    }
    try {
        certificate = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(certBytes));
    } catch (CertificateException e) {
        e.printStackTrace();
        setCertError(0);
        return false;
    }
    if (!checkProvider()){
        setCertError(1);
        return false;
    }

    boolean[] usages = certificate.getKeyUsage();
    boolean usage = usages[0] && usages[2];
    if (!usage){
        setCertError(2);
    }

    try {
        certificate.checkValidity();
    } catch (CertificateNotYetValidException e) {
        e.printStackTrace();
        setCertError(3);
        return false;
    } catch (CertificateExpiredException e) {
        e.printStackTrace();
        setCertError(4); …
Run Code Online (Sandbox Code Playgroud)

java rsa sha256 digital-signature x509certificate

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

如何在JavaScript/Node中计算SHA256哈希和Base64字符串编码

我试图在JavaScript中重新创建以下C#代码.

SHA256 myHash = new SHA256Managed();
Byte[] inputBytes = Encoding.ASCII.GetBytes("test");
myHash.ComputeHash(inputBytes);
return Convert.ToBase64String(myHash.Hash);
Run Code Online (Sandbox Code Playgroud)

此代码返回 "n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg="

这是我到目前为止我的JavaScript代码

var sha256 = require('js-sha256').sha256;
var Base64 = require('js-base64').Base64;

var sha256sig = sha256("test");

return Base64.encode(sha256sig);
Run Code Online (Sandbox Code Playgroud)

JS代码返回 "OWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTViMGYwMGEwOA=="

这些是我使用的2个JS库

JS-SHA256

JS-的base64

有谁知道如何使它工作?我使用错误的库吗?

javascript c# base64 sha256 node.js

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

带密钥的 Java HmacSHA256

我已经尝试了来自 stackoverflow 的几个链接来获取 HmacSHA256 和与 java 一起使用的密钥,但我总是得到

 func check(body: String) -> String {
    let hash = body.hmac(HMACAlgorithm.sha256, key: Router.sigKey)
    print("SIG: " + Router.sigKey)
    print("result of hash. \(hash)")
    return hash
}
Run Code Online (Sandbox Code Playgroud)

此函数从给定的字符串返回带有键的哈希值。密钥是:0393e944ee8108bb66fc9fa4f99f9c862481e9e0519e18232ba61b0767eee8c6

字符串是:示例

结果是:27effb76c97022497e25d3a5d7e823462f212a82d9ebba35f179071568b0c335

当我使用这个网站检查我的 SHA256 是否使用相同的密钥时,它返回相同的答案,所以我知道我的 swift 代码很好。但是当我尝试在 Java 中执行此操作时,这是源代码。

public static String HMAC_SHA(){
    try {
        String secret = "0393e944ee8108bb66fc9fa4f99f9c862481e9e0519e18232ba61b0767eee8c6";
        String message = "example";
        Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
        SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256");
        sha256_HMAC.init(secret_key);
        String hash = android.util.Base64.encodeToString(sha256_HMAC.doFinal(message.getBytes()), Base64.URL_SAFE);
        return new String(Hex.encodeHex(hash.getBytes()));
    }
    catch (Exception e){
        e.printStackTrace(); …
Run Code Online (Sandbox Code Playgroud)

java sha256 hmac swift

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

如何在谷歌关闭库上修复 sha256 hmac 的加密?

多个 Hmac 加密器输出 google 关闭库的不同结果。

我尝试了多个 Hmac 加密器,它们输出相同的结果。但是,当在 NodeJS 和 ClojureScript 中使用 google 闭包库时,它会输出完全不同的结果。

require("google-closure-library");

function bytesToHex(b) {
    var hexchars = '0123456789abcdef';
    var hexrep = new Array(b.length * 2);
    for (var i = 0; i < b.length; ++i) {
      hexrep[i * 2] = hexchars.charAt((b[i] >> 4) & 15);
      hexrep[i * 2 + 1] = hexchars.charAt(b[i] & 15);
    }
    return hexrep.join('');
}

goog.require('goog.crypt.Hmac');
goog.require('goog.crypt.Sha256');

function getHmac(key, message) {
    var hasher = new goog.crypt.Sha256();
    var hmacer = new goog.crypt.Hmac(hasher, key, 64);
    return …
Run Code Online (Sandbox Code Playgroud)

javascript sha256 hmac google-closure-library clojurescript

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