标签: sha1

Java计算String的SHA-1摘要的十六进制表示

我将用户密码存储在db上作为sha1哈希.

不幸的是,我得到了奇怪的答案.

我将字符串存储为:

MessageDigest cript = MessageDigest.getInstance("SHA-1");
              cript.reset();
              cript.update(userPass.getBytes("utf8"));
              this.password = new String(cript.digest());
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西 - >

aff - >"0c05aa56405c447e6678b7f3127febde5c3a9238"

而不是

aff - > V@ \D~fx : 8

java hash sha1

58
推荐指数
5
解决办法
9万
查看次数

如何在Swift中使用SHA1散列NSString?

在objective-c中它看起来像这样:

#include <sys/xattr.h>

@implementation NSString (reverse)

-(NSString*)sha1
{
    NSData *data = [self dataUsingEncoding:NSUTF8StringEncoding];
    uint8_t digest[CC_SHA1_DIGEST_LENGTH];
    CC_SHA1(data.bytes, (int)data.length, digest);
    NSMutableString *output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
    for (int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++)
        [output appendFormat:@"%02x", digest[i]];
    return output;
}

@end
Run Code Online (Sandbox Code Playgroud)

我需要Swift这样的东西,有可能吗?

请展示工作示例.

sha1 swift

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

google maps api for android,获得SHA1证书而不是MD5

当我尝试使用MD5指纹时keytool,我得到一个SHA1指纹而谷歌地图无法识别它.我如何获得MD5指纹?

android google-maps md5 sha1 fingerprint

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

我应该使用什么校验和算法?

我正在构建一个系统,它需要能够找到是否已更新blob字节.我认为我应该计算它的校验和,存储它并稍后计算相同的校验和,以查看博客是否已更新,而不是存储整个blob(它们可以高达5MB).

目标是最小化以下(按此顺序):

  • 校验和的大小
  • 时间来计算
  • 碰撞的可能性(即使内容已被修改,也会发生2个相同的校验和).

我们的系统碰撞不超过1/1,000,000是可以接受的.问题不在于安全性,而在于更新/错误检测,因此罕见的冲突是可以的.(这就是为什么我把它放在最小化的东西中).

另外,我们不能自己修改文本的blob.

当然,md5,crcsha1浮现在脑海中,如果我想要一个快速的解决方案,我去了.然而,不仅仅是一个快速的解决方案,我正在寻找可以比较不同方法以及利弊的东西.

checksum md5 sha1 crc

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

HMAC-SHA1:如何在Java中正确完成?

我使用HMAC-SHA1散列一些值,使用Java中的以下代码:

public static String hmacSha1(String value, String key) {
    try {
        // Get an hmac_sha1 key from the raw key bytes
        byte[] keyBytes = key.getBytes();           
        SecretKeySpec signingKey = new SecretKeySpec(keyBytes, "HmacSHA1");

        // Get an hmac_sha1 Mac instance and initialize with the signing key
        Mac mac = Mac.getInstance("HmacSHA1");
        mac.init(signingKey);

        // Compute the hmac on input data bytes
        byte[] rawHmac = mac.doFinal(value.getBytes());

        // Convert raw bytes to Hex
        byte[] hexBytes = new Hex().encode(rawHmac);

        //  Covert array of Hex bytes to a String …
Run Code Online (Sandbox Code Playgroud)

java hash sha1 hmac

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

如何将SHA-1添加到Android应用程序

我正在尝试在Firebase中创建一个动态链接,当我选择Android应用程序时,它显示错误"将SHA-1添加到此Android应用程序",我已经添加了凭据,但我不是确定我如何"将SHA-1添加到应用程序"

这是怎么做到的?

android sha1 firebase firebase-dynamic-links

52
推荐指数
11
解决办法
8万
查看次数

如何使用cmake将git SHA1作为定义传递给编译器?

在Makefile中,这可以通过以下方式完成:

g++ -DGIT_SHA1="`git log -1 | head -n 1`" ...
Run Code Online (Sandbox Code Playgroud)

这非常有用,因为二进制文件知道确切的提交SHA1,所以它可以在segfault的情况下转储它.

我如何用CMake实现同样的目标?

git sha1 cmake

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

如何在Java中生成HMAC等效于Python示例?

我正在寻找通过 Java中的Oauth实现一个获得Twitter授权的应用程序.第一步是获取请求令牌.这是app引擎的Python示例.

为了测试我的代码,我正在运行Python并使用Java检查输出.以下是Python生成基于哈希的消息验证代码(HMAC)的示例:

#!/usr/bin/python

from hashlib import sha1
from hmac import new as hmac

key = "qnscAdgRlkIhAUPY44oiexBKtQbGY0orf7OV1I50"
message = "foo"

print "%s" % hmac(key, message, sha1).digest().encode('base64')[:-1]
Run Code Online (Sandbox Code Playgroud)

输出:

$ ./foo.py
+3h2gpjf4xcynjCGU5lbdMBwGOc=
Run Code Online (Sandbox Code Playgroud)

如何在Java中复制此示例?

我在Java中看到过HMAC的一个例子:

try {
    // Generate a key for the HMAC-MD5 keyed-hashing algorithm; see RFC 2104
    // In practice, you would save this key.
    KeyGenerator keyGen = KeyGenerator.getInstance("HmacMD5");
    SecretKey key = keyGen.generateKey();

    // Create a MAC object …
Run Code Online (Sandbox Code Playgroud)

java sha1 oauth cryptoapi hmac

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

两条消息具有相同MD5摘要和相同SHA1摘要的可能性有多大?

给定两个不同的消息,A和B(可能是20-80个字符的文本,如果大小完全重要),A的MD5摘要与B的MD5摘要相同 A的SHA1摘要的概率是多少?与B的SHA1摘要相同?那是:

(MD5(A) == MD5(B)) && (SHA1(A) == SHA1(B))
Run Code Online (Sandbox Code Playgroud)

假设没有恶意意图,即没有选择消息以找到冲突.我只是想知道这种情况发生的可能性.

我认为机会是"天文数字低",但我不确定如何验证这一点.

更多信息:可能消息池的大小受到限制,但是很大(几亿).生日悖论的情况正是我所担心的.

math md5 sha1 digest hash-collision

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

检查我的SSL证书是SHA1还是SHA2

我试图找到答案,但我找不到答案......

如何检查我的SSL证书是否使用SHA1或SHA2?

我问的原因是因为它可能与Mozilla Browers上没有加载的证书有关....

有任何想法吗?我可以通过cPanel查看吗?

sha1 sha2

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