質問: rsaキーペアを生成し、プライベートを文字列としてエンコードします 512ビットのrsaキーペアを生成してから、公開キーを文字列としてエンコードします。どうすればこれを達成できますか?
回答: 16進文字列として出力する場合import java.security.*; public class test { public static void main(string[] args) throws nosuchalgorithmexception, nosuchproviderexception { keypairgenerator keygen = keypairgenerator.getinstance("rsa"); keygen.initialize(512); byte[] publickey = keygen.genkeypair().getpublic().getencoded(); stringbuffer retstring = new stringbuffer(); for (int i = 0; i < publickey.length; ++i) { retstring.append(integer.tohexstring(0x0100 + (publickey[i] & 0x00ff)).substring(1)); } system.out.println(retstring); } } バイト値として出力する場合import java.security.*; public class test { public static void main(string[] args) throws nosuchalgorithmexception, nosuchproviderexception { keypairgenerator keygen = keypairgenerator.getinstance("rsa"); keygen.initialize(512); byte[] publickey = keygen.genkeypair().getpublic().getencoded(); stringbuffer retstring = new stringbuffer(); retstring.append("["); for (int i = 0; i < publickey.length; ++i) { retstring.append(publickey[i]); retstring.append(", "); } retstring = retstring.delete(retstring.length()-2,retstring.length()); retstring.append("]"); system.out.println(retstring); //e.g. [48, 92, 48, .... , 0, 1] } }