繁体   English   中英

在C#中编码base64公钥并在Java中解码base64

[英]Encoded base64 public key in c# and decode base64 in java

什么是在C#中使用base64编码公钥,保存到文件以及在用Java读取该文件并重新计算密钥之后正确的方式。

在C#中

File.WriteAllText(System.Convert.ToBase64String(certificate.GetPublicKey()))

在Java中,我读取了所有字节,然后尝试了以下操作:

PublicKey pubKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.getDecoder().decode(bytesFromFile)))

它抛出

无效的密钥格式

用C#编码:

@using System;
@using System.Text;

string password = "yourpassword";
 var passwordBytes = Encoding.UTF8.GetBytes(password);
 string encodedPassword = Convert.ToBase64String(passwordBytes);
 //Debug.Write("csEncodedPassword: "+csEncodedPassword);

用Java解码:

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.StringUtils;

String decodedPass = java.net.URLDecoder.decode(csEncodedPassword,StandardCharsets.UTF_8.name());
String decoded64pass= StringUtils.newStringUtf8(Base64.decodeBase64(decodedPass));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM