最近工作需要加密数据,在网上收集了一下加密算法,在此给刚接触安卓的朋友们介绍一下
首先是RSA加密:
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import javax.crypto.Cipher;
import android.util.Base64;
public class RSAHelper {
public static PublicKey getPublicKey(String key) throws Exception {
byte[] keyBytes;
//keyBytes = (new BASE64Decoder()).decodeBuffer(key);
keyBytes= Base64.decode(key.getBytes(), Base64.DEFAULT);
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(keySpec);
return publicKey;
}
public static PrivateKey getPrivateKey(String key) throws Exception {
byte[] keyBytes;
//keyBytes = (new BASE64Decoder()).decodeBuffer(key);
keyBytes= Base64.decode(key.getBytes(), Base64.DEFAULT);
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey privateKey = keyFactory.generatePr