Try{ //1 initializing the secret keyKeypairgenerator keypairgenerator = keypairgenerator.getinstance ("RSA"); Keypairgenerator.initialize (512); KeyPair KeyPair=Keypairgenerator.generatekeypair (); Rsapublickey Rsapublickey=(Rsapublickey) keypair.getpublic (); Rsaprivatekey Rsaprivatekey=(Rsaprivatekey) keypair.getprivate (); //2 Execute SignaturePkcs8encodedkeyspec Pkcs8encodedkeyspec =NewPkcs8encodedkeyspec (rsaprivatekey.getencoded ()); Keyfactory keyfactory= Keyfactory.getinstance ("RSA"); Privatekey Privatekey=keyfactory.generateprivate (PKCS8ENCODEDKEYSPEC); Signature Signature= Signature.getinstance ("Md5withrsa"); Signature.initsign (Privatekey); Signature.update (Src.getbytes ()); byte[] result =signature.sign (); System.out.println ("RSA sign:" +hex.encodehexstring (result)); //3. Verifying the signatureX509encodedkeyspec X509encodedkeyspec=NewX509encodedkeyspec (rsapublickey.getencoded ()); Keyfactory= Keyfactory.getinstance ("RSA"); PublicKey PublicKey=keyfactory.generatepublic (X509ENCODEDKEYSPEC); Signature= Signature.getinstance ("Md5withrsa"); Signature.initverify (PublicKey); Signature.update (Src.getbytes ()); BooleanBOOL =signature.verify (Result); System.out.println ("RSA Verify" +bool); } Catch(Exception ex) {ex.printstacktrace (); }
Java RSA Signature