JAVA实现DES加密
DES全称为DataEncryption Standard,即数据加密标准,是一种对称加密算法!
DES加密介绍
JAVA实现
加密
- public byte[] desCrypto(byte[] datasource, String password) {
- try{
- SecureRandom random = new SecureRandom();
- DESKeySpec desKey = new DESKeySpec(password.getBytes());
- //创建一个密匙工厂,然后用它把DESKeySpec转换成
- SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
- SecretKey securekey = keyFactory.generateSecret(desKey);
- //Cipher对象实际完成加密操作
- Cipher cipher = Cipher.getInstance("DES");
- //用密匙初始化Cipher对象
- cipher.init(Cipher.ENCRYPT_MODE, securekey, random);
- //现在,获取数据并加密
- //正式执行加密操作
- return cipher.doFinal(datasource);
- }catch(Throwable e){
- e.printStackTrace();
- }
- return null;
- }
解密
- private byte[] decrypt(byte[] src, String password) throws Exception {
- // DES算法要求有一个可信任的随机数源
- SecureRandom random = new SecureRandom();
- // 创建一个DESKeySpec对象
- DESKeySpec desKey = new DESKeySpec(password.getBytes());
- // 创建一个密匙工厂
- SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
- // 将DESKeySpec对象转换成SecretKey对象
- SecretKey securekey = keyFactory.generateSecret(desKey);
- // Cipher对象实际完成解密操作
- Cipher cipher = Cipher.getInstance("DES");
- // 用密匙初始化Cipher对象
- cipher.init(Cipher.DECRYPT_MODE, securekey, random);
- // 真正开始解密操作
- return cipher.doFinal(src);
- }
测试场景
- //待加密内容
- String str = "测试内容";
- //密码,长度要是8的倍数
- String password = "12345678";
- byte[] result = DESCrypto.desCrypto(str.getBytes(),password);
- System.out.println("加密后内容为:"+new String(result));
- //直接将如上内容解密
- try {
- byte[] decryResult = des.decrypt(result, password);
- System.out.println("加密后内容为:"+new String(decryResult));
- } catch (Exception e1) {
- e1.printStackTrace();
- }
JAVA实现DES加密相关推荐
- java使用DES加密方式,实现对数据的加密解密
全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用DES加密方式,实现对数据的加密解密.加密和解密中需要使用同一个秘钥 第一种方式,使用类型Key作为加密解密的共同秘钥. 测试代码 p ...
- php与java的des加密解密
与第三方接口对接des加密.解密,第三方提供java的des加密解密demo,特记录PHP与java加密解密. import javax.crypto.*; import javax.crypto.s ...
- IOS、java支持DES加密
最近在考虑数据加密方面的需求,所以对数据加密简单的看了一下,当然不是看的原理,只是看看怎么能够实现.现在我们需要实现的是移动端和后台(java)数据加解密的配合,开始的时候考虑的使用RSA,因为RSA ...
- java 实现 DES加密 解密算法
DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种: ...
- java php des加密 byte数组16进制 DESTools
大家好,我是烤鸭: 今天分享的是java 和 php des 加密. 因为接口对接,难免不同语言,加密又是必不可少的. 作为接口的提供方,必须把加密规则写好,最好有不同语言的加密demo. 1. ...
- Android平台和java平台 DES加密解密互通程序及其不能互通的原因
为什么80%的码农都做不了架构师?>>> 网上的demo一搜一大堆,但是,基本上都是一知半解(包括我).为什么呢?我在尝试分别在两个平台加密的时候,竟然发现Android DE ...
- java c des ecb_PHP、Java的Des加密(ECB mode)
PHP 和 Java �g用 Des 加密(ECB mode) ��鬏��Y料,要�_保�蛇�用同�拥�key加解密的�Y果一�印� PHP code: /** * DES 加解密(ECB mode) ...
- java ios des加密解密_IOS、java支持DES加密
转载请注明博客地址:http://blog.csdn.net/mengxiangyue/article/details/40015727 近期在考虑数据加密方面的需求,所以对数据加密简单的看了一下,当 ...
- java des 加密工具的使用,Java中DES加密解密工具类的实现实例
这篇文章主要介绍了Java实现的DES加密解密工具类,结合具体实例形式分析了Java实现的DES加密解密工具类定义与使用方法,需要的朋友可以参考下 本文实例讲述了Java实现的DES加密解密工具类.分 ...
- Java实现DES加密解密
DES(Data Encryption Standard)是一种对称加密算法,所谓对称加密就是加密和解密都是使用同一个密钥. 加密原理: DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位, ...
最新文章
- 基础知识《十》unchecked异常和checked异常
- 操作系统服务:logging日志记录模块
- 使用mybatis中的自定义TypeHandler处理PostgreSQL中的Json类型
- oracle10_client的安装,Oracle10.2ClientWindows安装.doc
- pandas基础(part4)--排序/分组/合并
- Docker 方式安装、运行 Nexus3 、重置默认密码、推送 jar 包到私服
- vs里安装了mysql吗_vs2017安装 MySQL for Visual Studio 1.2.
- Java关键字final、static
- 大话RAC介质恢复---联机日志损坏
- spring:注解配置AOP
- Java生成随机数原理_JAVA随机数生成的机制
- js基础之六种继承方式
- 网络型多媒体计算机教室功能是,多媒体网络教室中的信息技术教学
- html 圣诞节贺卡模板,圣诞节立体贺卡模板大全
- Matrix Operations -- Transpose +Determinant + Adjugate+ Inverse + Gram-Schimidt +LUP + QR + Eigen
- uniapp 调用原生插件包含第三方SDK时抛NoClassDefFoundError异常
- 笔记-pd.set_option()
- 主播必备超萌代打猫咪,超人气全键盘版资源下载~
- 一个参数 nls_date_language
- Java基础部分 阶段一(语法基础)1、开发环境搭建(计算机编程及开发语言)
热门文章
- fileformat set
- A、B、C、D、E、F、G、H、I、J 共10名学生有可能参加本次计算机竞赛,也可能不参加。因为某种原因,他们是否参赛受到下列条件的约束
- BIM软件工具选择顺手——事半功倍
- [stm32] Start Tour-按键控制LED
- 华为nova5ipro的优缺点_三个原因告诉你 为何华为nova 5i Pro如此受追捧
- Linux 入门概述
- 独立站联盟营销引流大法
- Qt/PyQt 重写mouseMoveEvent事件 实时监测鼠标移动
- 控制系统计算机仿真实验一,控制系统计算机仿真实验青岛科技大学
- ESP32用NVS存储wifi信息