相关疑难解决方法(0)

如何在Java中将字节数组转换为十六进制字符串?

我有一个字节数组填充十六进制数字和打印它简单的方法是非常没有意义的,因为有许多不可打印的元素.我需要的是以下形式的确切十六进制代码:3a5f771c

java hex bytearray

606
推荐指数
16
解决办法
67万
查看次数

使用Java将十六进制转储的字符串表示形式转换为字节数组?

我正在寻找一种方法来转换长字符串(从转储),它表示十六进制值到一个字节数组.

我不能比在这里发布相同问题的人更好地措辞.

但为了保持原创,我会用自己的方式来表达它:假设我有一个"00A0BF"我想要解释为的字符串

byte[] {0x00,0xA0,0xBf}
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我是Java新手,最后使用BigInteger并注意领先的十六进制零.但我觉得它很难看,我确信我错过了一些简单的东西.

java hex byte dump

353
推荐指数
12
解决办法
44万
查看次数

Java String到SHA1

我正在尝试用Java创建一个简单的String to SHA1转换器,这就是我所拥有的......

public static String toSHA1(byte[] convertme) {
    MessageDigest md = null;
    try {
        md = MessageDigest.getInstance("SHA-1");
    }
    catch(NoSuchAlgorithmException e) {
        e.printStackTrace();
    } 
    return new String(md.digest(convertme));
}
Run Code Online (Sandbox Code Playgroud)

当我通过它时toSHA1("password".getBytes()),我[?a?????%l?3~??.知道它可能是一个简单的编码修复,如UTF-8,但有人可以告诉我应该做什么来获得我想要的东西是5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8什么?或者我这样做完全错了?

java string sha1

148
推荐指数
9
解决办法
24万
查看次数

Java 9:Eclipse中无法访问模块java.xml.bind

我将Java 8中的maven项目迁移到Java 9项目而没有任何构建工具Eclipse OxyGen 1a.

所以我的module-info.java看起来像这样:

在此输入图像描述

但java.xml.bind不可访问,虽然它在我的模块路径中:

在此输入图像描述

那么这里有什么问题?

java eclipse java-9 java-module

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

Java将4个字节转换为int

我想知道这里记录的解决方案是否仍然是解决方案还是有其他方式从4个字节获取一个int?

谢谢.

编辑:我从套接字.read获取byte []

编辑:int recvMsgSize = in.read(Data, 0, BufferSize);如果recvMsgSize为-1我知道连接已被删除.

我在使用DataInputStream而不是InputStream时如何检测到这一点?

谢谢.

编辑:对于接受正确答案的yoyo道歉.但是在mihi更新了最终响应之后,看起来该方法是可靠的并且减少了扩展编码,并且在我看来是最佳实践.

java casting packing

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

PHP和Java中的SHA256

我正在将一些Java代码移植到PHP代码中.在Java中,我有一个哈希SHA256代码,如下所示:

public static String hashSHA256(String input)
        throws NoSuchAlgorithmException {
    MessageDigest mDigest = MessageDigest.getInstance("SHA-256");

byte[] shaByteArr = mDigest.digest(input.getBytes(Charset.forName("UTF-8")));
    StringBuilder hexStrBuilder = new StringBuilder();
    for (int i = 0; i < shaByteArr.length; i++) {
        hexStrBuilder.append(Integer.toHexString(0xFF & shaByteArr[i]));
    }

    return hexStrBuilder.toString();
}
Run Code Online (Sandbox Code Playgroud)

在PHP中,我哈希如下:

$hash = hash("sha256", utf8_encode($input));
Run Code Online (Sandbox Code Playgroud)

我用input ="test"运行示例代码.但是,我得到了2个不同的哈希字符串:

Java: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2bb822cd15d6c15b0f0a8
PHP: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么以及如何让它们相互匹配?请注意,我无法修改Java实现代码,只能修改PHP.

万分感激!

php java hash sha256

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

计算 SHA-256 哈希时的前导零

我正在尝试将同一文件的 SHA-256 哈希值与 Python 和 Java 进行比较。但是,在某些情况下,Python 哈希值具有前导零,而 Java 版本则没有。例如,在两个程序中散列somefile.txt 会产生:

Python: 000c3720cf1066fcde30876f498f060b0b3ad4e21abd473588f1f31f10fdd890

爪哇: c3720cf1066fcde30876f498f060b0b3ad4e21abd473588f1f31f10fdd890

简单地删除前导 0 并进行比较是否安全,或者是否有不产生前导零的实现?

Python代码

def sha256sum(filename):
    h  = hashlib.sha256()
    b  = bytearray(128*1024)
    mv = memoryview(b)
    with open(filename, 'rb', buffering=0) as f:
        for n in iter(lambda : f.readinto(mv), 0):
            h.update(mv[:n])
    return h.hexdigest()

print(sha256sum('/somepath/somefile.txt'))

# 000c3720cf1066fcde30876f498f060b0b3ad4e21abd473588f1f31f10fdd890
Run Code Online (Sandbox Code Playgroud)

Java代码

public static String calculateSHA256(File updateFile) {
    MessageDigest digest;
    try {
        digest = MessageDigest.getInstance("SHA-256");
    } catch (NoSuchAlgorithmException e) {
        Log.e(TAG, "Exception while getting digest", e);
        return null;
    }

    InputStream …
Run Code Online (Sandbox Code Playgroud)

python java hash android sha256

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

如何在java中以字节数据类型存储大于127的值

如何在java中以字节数据类型存储大于127的值.

int b = 160;
System.out.println((byte)b);
Run Code Online (Sandbox Code Playgroud)

它打印-96.

注意:我想在BLE设备上写字节.所以无法将其转换为short或int.

java android

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

标签 统计

java ×8

android ×2

hash ×2

hex ×2

sha256 ×2

byte ×1

bytearray ×1

casting ×1

dump ×1

eclipse ×1

java-9 ×1

java-module ×1

packing ×1

php ×1

python ×1

sha1 ×1

string ×1