怎么将十六进制字符串的私钥转换成PEM格式的私钥
提供给我的是16进制的私钥和Java实现的代码示例,要求我用PHP完成这个。实在是搞不懂,下面是Java的示例代码。如果用PHP实现的话,我目前的思路就是将给我的16进制的字符串转换成PEM格式的字符串,然后使用PHP的openssl_sign函数进行加密,但是尝试了很多方法,都没有方法成功转换。忘大神们解答
String src = "待加密的字符串";
Signature sigEng = Signature.getInstance("SHA1withRSA");
//bytes是将十六进制私钥字符串转化为字节数组之后的结果
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(bytes);
KeyFactory fac = KeyFactory.getInstance("RSA");
RSAPrivateKey privateKey = (RSAPrivateKey) fac.generatePrivate(keySpec);
RSAPublicKey publicKey = (RSAPublicKey)fac.generatePublic(keySpec);
//开始加密
sigEng.initSign(privateKey);
sigEng.update(src.getBytes("UTF-8"));
System.out.println(bytesToHexStr(sigEng.sign()));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论