在C#中使用base64编码公钥的正确方法是什么,保存到文件,以及在java中读取该文件后重新计算密钥。
这在C#中
File.WriteAllText(System.Convert.ToBase64String(certificate.GetPublicKey()))
在Java中,我读了所有字节,然后我尝试了这个:
PublicKey pubKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.getDecoder().decode(bytesFromFile)))
它抛出
无效的密钥格式
@using System;
@using System.Text;
string password = "yourpassword";
var passwordBytes = Encoding.UTF8.GetBytes(password);
string encodedPassword = Convert.ToBase64String(passwordBytes);
//Debug.Write("csEncodedPassword: "+csEncodedPassword);
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));