BigInteger 到十六进制冒号表示法

Akh*_*han 3 java ssl ssl-certificate

我正在使用 java.security.cert.X509Certificate 通过 SSL 套接字获取 SSL 证书。但是 X509Certificate 将证书的序列号作为 BigInteger 对象返回。我要的是冒号分隔值格式的序列号(类似于我们在浏览器中查看证书详情时看到的)。我们如何做到这一点?

我尝试了 toString(16),但我的序列号中仍然没有冒号。

请帮忙。

das*_*ght 5

您可以使用简单的正则表达式在每组两位数字后插入冒号,如下所示:

String res = orig.replaceAll("(?<=..)(..)", ":$1")
Run Code Online (Sandbox Code Playgroud)

此表达式匹配包含两个字符的组,并在除第一个组之外的每个组前插入一个冒号。

这是ideone 上演示