BigInteger到十六进制冒号表示法

时间:2013-07-13 11:11:27

标签: java ssl ssl-certificate

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

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

请帮忙。

1 个答案:

答案 0 :(得分:4)

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

String res = orig.replaceAll("(?<=..)(..)", ":$1")

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

这是demo on ideone