2009-11-10 21 views
20

के रूप में निजी एन्कोड करें मैं 512 बिट आरएसए कीपैयर उत्पन्न करना चाहता हूं और फिर स्ट्रिंग के रूप में अपनी सार्वजनिक कुंजी को एन्कोड करना चाहता हूं। इसे कैसे प्राप्त किया जा सकता है?आरएसए कुंजी जोड़ी उत्पन्न करें और स्ट्रिंग

उत्तर

32

के रूप में हेक्स-स्ट्रिंग

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.*; 
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] 
    } 
} 
+0

आपको बहुत बहुत धन्यवाद! यदि मुझे इस तरह का परिणाम मिलना चाहिए [48, -137, -97, 49, 13, 6, 8, 42, -122, 72, -122, -9, 13, 2, 3, 15 4, 0, 3, -132, -115, 0, 48, -127] क्या मुझे केवल retString.append (Integer.toHexString (0x0100 + (publicKey [i] और 0x00FF)) को केवल स्ट्रिंग विधि का उपयोग करना चाहिए। सबस्ट्रिंग (1)); ?? – Angela

+0

2 कोड सूची की जांच करें। – jitter

+1

यदि मैं पीईएम प्रारूप में आउटपुट चाहता हूं तो मैं इसे कैसे कर सकता हूं? – Yatin

संबंधित मुद्दे