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程序设计有所帮助。
相关推荐
-
详解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.在
-
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
-
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开发者结合Node.js编程入门教程
首先, 我必须得承认,作为一个有着十多年开发经验的java开发者,我已经形成了解决绝大部分问题的固有套路,尽管它们很多时候显得笨重和繁琐. 比如说如果要读取一个文件,那应该就是初始化一个BufferedReader 实例并传入一个FileReader,这几乎是顺理成章的,我在很多自认为算得上"企业级"的项目中编写这样的代码并且很享受这个过程,可以说我就是一个对其他语言不屑一顾的java脑残粉. 如果你正在阅读这篇博文,你可能已经陷入了我多年前早就陷入的一个误区,作为一名合格的开发人员应
-
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
-
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;
-
Node.js中AES加密和其它语言不一致问题解决办法
例子一: 这几天被一个问题困扰着.Nodejs的AES加密和Java,C#加密出来的不一致.当然,这样就不能解密了.纠结了许久:后来还是实在不行了,看了下源代码,要不然还得继续纠结下去.网上说,通常的nodejs AES和其他语言实现不一样.好吧~~或许吧.nodejs的crypto模块. 复制代码 代码如下: var crypto = require('crypto'); var data = "156156165152165156156"; console.log('Orig
-
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
-
Java实现AES加密算法的简单示例分享
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用. 大多数AES计算是在一个特别的有限域完成的. AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为"状态(state)",其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte).(Rijndael加密法因支持更大的区块,其矩阵行
随机推荐
- Atom-IDE 的使用方法简单介绍
- Oracle字符函数应用检测汉字的方法
- 基于python时间处理方法(详解)
- 不要用强制方法杀掉python线程
- Python爬取网易云音乐热门评论
- PHP错误Warning: Cannot modify header information - headers already sent by解决方法
- jsp留言板源代码二: 给jsp初学者.
- C#实现简单的3DES加密解密功能示例
- Android中Fragment的生命周期与返回栈的管理
- 如何在一个页面显示多个百度地图
- Asp下实现多表单域无组件文件上传的实例
- 通用JS事件写法实现代码
- Bootstrap路径导航与分页学习使用
- JS实现的4种数字千位符格式化方法分享
- 灵活定制收藏夹站点2法
- 备份、还原IIS网站配置信息
- android教程之使用popupwindow创建菜单示例
- 详解vue表单——小白速看
- centos7.2离线安装mysql5.7.18.tar.gz
- PHP面向对象程序设计重载(overloading)操作详解