Java examples for Security:RSA
Use the RSA public Key to decrypt the data.
/**/*from ww w . j av a 2 s. c om*/ * RSAUtil.java * * Copyright 2011 Niolex, Inc. * * Niolex licenses this file to you under the Apache License, version 2.0 * (the "License"); you may not use this file except in compliance with the * License. You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. */ import java.security.Key; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Signature; import javax.crypto.Cipher; public class Main{ /** * Use the public Key to decrypt the data. * * @param data the data to be decrypted * @param key the key used to do decryption * @return the decrypted data * @throws IllegalStateException If Your JDK don't support RSA. * @throws IllegalArgumentException If failed to decrypt the data. */ public static byte[] decryptByPublicKey(byte[] data, String key) { Key publicKey = getPublicKey(key); return decrypt(data, publicKey); } /** * Use RSA to decrypt the data. * * @param data the data need to be decrypted * @param key the key used to do decryption * @return the decrypted data * @throws IllegalArgumentException Failed to decrypt the data. */ public static byte[] decrypt(byte[] data, Key key) { try { Cipher cipher = Cipher.getInstance(ALGORITHM); cipher.init(Cipher.DECRYPT_MODE, key); return CipherUtil.process(cipher, 128, data); } catch (Exception e) { throw new IllegalArgumentException( "Failed to decrypt the data.", e); } } }