JAVA中AES加密方法实例分析
本文实例讲述了JAVA中AES加密方法。分享给大家供大家参考。具体如下:
java代码:
KeyGenerator kg = KeyGenerator.getInstance("AES"); //获取密匙生成器
kg.init(256); //初始化
//DES算法必须是56位
//DESede算法可以是112位或168位
//AES算法可以是128、192、256位
SecretKey key = kg.generateKey(); //生成密匙,可用多种方法来保存密匙
加密:
Cipher cp = Cipher.getInstance("AES"); //创建密码器
cp.init(Cipher.ENCRYPT_MODE, key); //初始化
String str = "我是需要被加密的明文";
byte [] ptext = str.getBytes("UTF8");
byte [] ctext = cp.doFinal(ptext); //加密
解密:
Cipher cp = Cipher.getInstance("AES"); //创建密码器
cp.init(Cipher.DECRYPT_MODE, key); //初始化
byte [] ptext = cp.doFinal(ctext); //解密
String str = new String(ptext, "UTF8"); //重新显示明文
希望本文所述对大家的java程序设计有所帮助。
相关推荐
-
Java开发者结合Node.js编程入门教程
首先, 我必须得承认,作为一个有着十多年开发经验的java开发者,我已经形成了解决绝大部分问题的固有套路,尽管它们很多时候显得笨重和繁琐. 比如说如果要读取一个文件,那应该就是初始化一个BufferedReader 实例并传入一个FileReader,这几乎是顺理成章的,我在很多自认为算得上"企业级"的项目中编写这样的代码并且很享受这个过程,可以说我就是一个对其他语言不屑一顾的java脑残粉. 如果你正在阅读这篇博文,你可能已经陷入了我多年前早就陷入的一个误区,作为一名合格的开发人员应
-
Node.js中AES加密和其它语言不一致问题解决办法
例子一: 这几天被一个问题困扰着.Nodejs的AES加密和Java,C#加密出来的不一致.当然,这样就不能解密了.纠结了许久:后来还是实在不行了,看了下源代码,要不然还得继续纠结下去.网上说,通常的nodejs AES和其他语言实现不一样.好吧~~或许吧.nodejs的crypto模块. 复制代码 代码如下: var crypto = require('crypto'); var data = "156156165152165156156"; console.log('Orig
-
JAVA中AES对称加密和解密过程
AES对称加密和解密代码详细介绍,供大家参考,具体内容如下 package demo.security; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom;
-
Java实现AES加密算法的简单示例分享
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用. 大多数AES计算是在一个特别的有限域完成的. AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为"状态(state)",其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte).(Rijndael加密法因支持更大的区块,其矩阵行
-
java实现的AES加密算法完整实例
本文实例讲述了java实现的AES加密算法.分享给大家供大家参考,具体如下: import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import android.util.Base64; /** * @author vipin.cb , vipin.cb@experionglobal.com <br> * Sep 27, 2013
-
java基于AES对称加密算法实现的加密与解密功能示例
本文实例讲述了java基于AES对称加密算法实现的加密与解密功能.分享给大家供大家参考,具体如下: package com.soufun.com; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import
-
Android、iOS和Java通用的AES128加密解密示例代码
前言 移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如android和iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输. 这篇文章给大家分享AES的加密和解密.Android和ios通用的AES加密算法.大家可以直接集成到自己的项目.服务器接口如果是用Java写的话.整个框架都完美了.如果是.NET编写的后台接口的话.得改造一下哦 IOS加密 /*加密方法*/ (NSString *)AES256EncryptWithPlainText:(NSString
-
Java与Node.js利用AES加密解密出相同结果的方法示例
前言 工作中遇到nodejs端通过aes加密,安卓客户端Java解密,同样nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥再MD5加密一遍,以下是Java与Node.js利用AES加密解密出相同结果的方法,需要的朋友们下面来一起学习学习吧. JAVA代码如下: package g.g; import java.security.MessageDigest; import javax.crypto.Cipher; import javax.c
-
详解nodejs与javascript中的aes加密
一.简介 1.aes加密简单来说,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.高级加密标准已然成为对称密钥加密中最流行的算法之一. 2.AES的区块长度固定为128 比特,密钥长度则可以是128,192或256比特:而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限.包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB. 3.在
-
java实现的AES秘钥生成算法示例
本文实例讲述了java实现的AES秘钥生成算法.分享给大家供大家参考,具体如下: import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; public class Test { public static void main(String[] args) { g
随机推荐
- 详解Http请求中Content-Type讲解以及在Spring MVC中的应用
- asp执行带参数的sql语句实例
- js+JQuery返回顶部功能如何实现
- 详解node nvm进行node多版本管理
- Windows下Nginx的配置及配置文件部分介绍
- admin.vbs 以管理员身份运行程序的vbs命令
- ASP与Excel结合生成数据表和Chart图的代码
- Javascript图像处理—亮度对比度应用案例
- 用Python编写web API的教程
- 批处理实现文本内容横列变纵列的代码
- Redis教程之代理ip池设计方法详解
- 给WordPress中的留言加上楼层号的PHP代码实例
- PHP内核介绍及扩展开发指南—基础知识
- 电源插座惹的祸
- Spring的Ioc模拟实现详细介绍
- ListBox实现上移,下移,左移,右移的简单实例
- 深入Memcache的Session数据的多服务器共享详解
- Ubuntu中为Android实现Application Frameworks层增加硬件访问服务
- 你该知道的Gradle配置知识总结
- 手把手教你用python抢票回家过年(代码简单)
