本文主要是介绍AES加密及在Android中的使用(CBC可用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
AES加密及在Android中的使用
- AES简介
- 在Android中使用AES
- AES加密(以CBC为例)
- AES解密
AES简介
高级加密标准(AES,Advanced Encryption Standard),是最常见的对称加密算法,对称加密是指加密和解密使用相同的密钥
在Android中使用AES
AES共有5种加密模式:
ECB模式(电码本模式)
CBC模式(密码分组链接模式)
CTR(计算器模式)
CFB(密码反馈模式)
OFB(输出反馈模式)
比较常用的是ECB和CBC模式,除密钥外,CBC模式可额外传入一个偏移量(iv值)进行加密,增强了加密算法强度。
Android中已内置了AES加解密支持,示例代码如下:
AES加密(以CBC为例)
/*** AES加密,返回BASE64编码后的加密字符串** @param sSrc -- 待加密内容* @param encodingFormat -- 字符串编码方式* @param algorithm -- 使用的算法 算法/模式/补码方式, 目前支持ECB和CBC模式* @param sKey -- 加密密钥* @param ivParameter -- 偏移量,CBC模式时需要* @return Base64编码后的字符串* @throws Exception*/public static String aesEncrypt(String sSrc, String encodingFormat, String algorithm, String sKey, String ivParameter) throws Exception {Cipher cipher = Cipher.getInstance(algorithm);byte[] raw = sKey.getBytes(encodingFormat);SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");//使用CBC模式,需要一个向量iv,可增加加密算法的强度IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes(encodingFormat));if
这篇关于AES加密及在Android中的使用(CBC可用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!