Java examples for Security:RSA
Use the RSA public Key to encrypt the data.
/**// w w w. j a va 2 s . c o m * 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 encrypt the data. * * @param data the data to be encrypted * @param key the key used to do encryption * @return the encrypted data * @throws IllegalStateException If Your JDK don't support RSA. * @throws IllegalArgumentException If failed to encrypt the data. */ public static byte[] encryptByPublicKey(byte[] data, String key) { Key publicKey = getPublicKey(key); return encrypt(data, publicKey); } /** * Use RSA to encrypt the data. * * @param data the data need to be encrypted * @param key the key used to do encryption * @return the encrypted data * @throws IllegalArgumentException Failed to encrypt the data. */ public static byte[] encrypt(byte[] data, Key key) { try { Cipher cipher = Cipher.getInstance(ALGORITHM); cipher.init(Cipher.ENCRYPT_MODE, key); return CipherUtil.process(cipher, 117, data); } catch (Exception e) { throw new IllegalArgumentException( "Failed to encrypt the data.", e); } } }