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基于AES对称加密算法实现的加密与解密功能示例
本文实例讲述了java基于AES对称加密算法实现的加密与解密功能.分享给大家供大家参考,具体如下: package com.soufun.com; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import
-
Node.js中AES加密和其它语言不一致问题解决办法
例子一: 这几天被一个问题困扰着.Nodejs的AES加密和Java,C#加密出来的不一致.当然,这样就不能解密了.纠结了许久:后来还是实在不行了,看了下源代码,要不然还得继续纠结下去.网上说,通常的nodejs AES和其他语言实现不一样.好吧~~或许吧.nodejs的crypto模块. 复制代码 代码如下: var crypto = require('crypto'); var data = "156156165152165156156"; console.log('Orig
-
Java实现AES加密算法的简单示例分享
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用. 大多数AES计算是在一个特别的有限域完成的. AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为"状态(state)",其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte).(Rijndael加密法因支持更大的区块,其矩阵行
-
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加密算法完整实例
本文实例讲述了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利用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
-
Android、iOS和Java通用的AES128加密解密示例代码
前言 移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如android和iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输. 这篇文章给大家分享AES的加密和解密.Android和ios通用的AES加密算法.大家可以直接集成到自己的项目.服务器接口如果是用Java写的话.整个框架都完美了.如果是.NET编写的后台接口的话.得改造一下哦 IOS加密 /*加密方法*/ (NSString *)AES256EncryptWithPlainText:(NSString
-
Java开发者结合Node.js编程入门教程
首先, 我必须得承认,作为一个有着十多年开发经验的java开发者,我已经形成了解决绝大部分问题的固有套路,尽管它们很多时候显得笨重和繁琐. 比如说如果要读取一个文件,那应该就是初始化一个BufferedReader 实例并传入一个FileReader,这几乎是顺理成章的,我在很多自认为算得上"企业级"的项目中编写这样的代码并且很享受这个过程,可以说我就是一个对其他语言不屑一顾的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.在
-
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终止循环体的具体实现
- PostgreSQL教程(十六):系统视图详解
- JS 正则表达式(学习笔记2)匹配网址url参数
- Linux网络编程之基于UDP实现可靠的文件传输示例
- 备份硬盘主引导分区到一个文件中
- 详解iOS中按钮点击事件处理方式
- ASP.NET生成Google网站地图的代码
- Laravel中使用阿里云OSS Composer包分享
- php中文繁体和简体相互转换的方法
- Docker如何同时启动多个服务
- 利用java监听器实现在线人数统计
- 海河写的 Discuz论坛帖子调用js的php代码
- 基于C++浮点数(float、double)类型数据比较与转换的详解
- jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
- 浅谈window.onbeforeunload() 事件调用ajax
- Vue.directive自定义指令的使用详解
- backdoor病毒珍藏绝密源代码
- android生命周期深入分析(二)
- 在linux系统下安装两个nginx的简单方法
- Java 中解决Unsupported major.minor version 51.0的问题