阅读量:0
在Android中,可以使用OpenSSL库来进行加密,解密,签名和验证等操作。以下是一些在Android中使用OpenSSL的示例用法:
- 生成RSA密钥对:
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); keyPairGenerator.initialize(2048); KeyPair keyPair = keyPairGenerator.generateKeyPair(); PrivateKey privateKey = keyPair.getPrivate(); PublicKey publicKey = keyPair.getPublic();
- 使用RSA进行加密和解密:
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(Cipher.ENCRYPT_MODE, publicKey); byte[] encryptedData = cipher.doFinal(data); cipher.init(Cipher.DECRYPT_MODE, privateKey); byte[] decryptedData = cipher.doFinal(encryptedData);
- 使用RSA进行签名和验证:
Signature signature = Signature.getInstance("SHA256withRSA"); signature.initSign(privateKey); signature.update(data); byte[] signatureBytes = signature.sign(); signature.initVerify(publicKey); signature.update(data); boolean verified = signature.verify(signatureBytes);
需要注意的是,使用OpenSSL库需要添加相应的依赖库,并且在AndroidManifest.xml文件中添加相应的权限。