AES加密解密 附赠 base64
2017-08-22 17:02
465 查看
AES加密是一总比较常用的,会补足长度的加密方式,不管你长度为多少,加密完之后都会变成128位(仅指这里,当然也有其他的AES)。 敲黑板:之前做过一次跨语言的加密解密,发现是不可以的。即java php c++之间不同的加密解密不要通用,因为进制和编码的问题,如果强行使用的话。需要二进制十六进制八进制各种换算 - -。 我这么懒,当然没有去做。 而且任何加密后的内容是没有办法看到的,如果要显示,统统需要base64处理。 代码片如下:
public static byte[] AESdecrypt(byte[] input , String key){ byte[] output = null; try{ javax.crypto.spec.SecretKeySpec skey = new javax.crypto.spec.SecretKeySpec(key.getBytes(), "AES"); javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(javax.crypto.Cipher.DECRYPT_MODE, skey); output = cipher.doFinal(input); } catch (Exception e) { System.out.println(e.toString()); } return output; } //AES的加密部分 public static byte[] AESencrypt(byte[] input , String key) throws Exception{ byte[] crypted = null; try{ javax.crypto.spec.SecretKeySpec skey = new javax.crypto.spec.SecretKeySpec(key.getBytes(), "AES"); javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, skey); crypted = cipher.doFinal(input); }catch(Exception e){ System.out.println(e.toString()); } return crypted; } //base64解密部分 public static String Base64decrypt(String input){ return new String(org.apache.commons.codec.binary.Base64.decodeBase64(input.getBytes())); } //base64加密部分 public static String Base64encrypt(String input){ return new String(org.apache.commons.codec.binary.Base64.encodeBase64(input.getBytes())); }
相关文章推荐
- base64编码和aes加密和解密配置文件
- SHA1 MD5 BASE64 AES 加密解密
- 【java】AES加密解密|及Base64的使用
- IOS 加密解密(AES、DES、base64、md5)
- 【java】AES加密解密|及Base64的使用
- AES加密解密|及Base64的使用
- AES加密解密|及Base64的使用
- Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES
- C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)
- 【java】AES加密解密|及Base64的使用
- AES加密与Base64编码(加解密、签名系列)
- 关于base64和AES结合加密解密中python3报错的情况
- 【java】AES加密解密|及Base64的使用
- AES加密解密|及Base64的使用
- MD5加密,Base64加密/解密,AES加密/解密
- 【java】AES加密解密|及Base64的使用
- python 加密解密(base64, AES)
- SHA1 MD5 BASE64 AES 加密解密
- AES加解密算法,使用Base64做转码以及辅助加密:
- 【java】AES加密解密|及Base64的使用