- 浏览: 3560893 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
import javax.crypto.*; import javax.crypto.spec.DESKeySpec; import java.security.NoSuchAlgorithmException; import java.security.InvalidKeyException; import java.security.SecureRandom; import java.security.spec.InvalidKeySpecException; /** * 通过DES加密解密实现一个String字符串的加密和解密. * * @author badpeas * */ public class EncryptDecryptData { public static void main(String[] args) throws Exception{ // 1.1 >>> 首先要创建一个密匙 // DES算法要求有一个可信任的随机数源 SecureRandom sr = new SecureRandom(); // 为我们选择的DES算法生成一个KeyGenerator对象 KeyGenerator kg = KeyGenerator.getInstance("DES"); kg.init(sr); // 生成密匙 SecretKey key = kg.generateKey(); // 获取密匙数据 byte rawKeyData[] = key.getEncoded(); rawKeyData = "hzilearning".getBytes() ; //密匙为的原来数据源是hzilearning,也可以随机产生 System.out.println("密匙===>" + rawKeyData); String str = "hi.baidu.com/badpeas"; // 待加密数据 // 2.1 >>> 调用加密方法 byte[] encryptedData = encrypt(rawKeyData, str); //需要有密匙 // 3.1 >>> 调用解密方法 decrypt(rawKeyData, encryptedData); //将密匙放入 } /** * 加密方法 * * @param rawKeyData * @param str * @return * @throws InvalidKeyException * @throws NoSuchAlgorithmException * @throws IllegalBlockSizeException * @throws BadPaddingException * @throws NoSuchPaddingException * @throws InvalidKeySpecException */ public static byte[] encrypt(byte rawKeyData[], String str) throws Exception { // DES算法要求有一个可信任的随机数源 SecureRandom sr = new SecureRandom(); // 从原始密匙数据创建一个DESKeySpec对象 DESKeySpec dks = new DESKeySpec(rawKeyData); // 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey key = keyFactory.generateSecret(dks); // Cipher对象实际完成加密操作 Cipher cipher = Cipher.getInstance("DES"); // 用密匙初始化Cipher对象 cipher.init(Cipher.ENCRYPT_MODE, key, sr); // 现在,获取数据并加密 byte data[] = str.getBytes(); // 正式执行加密操作 byte[] encryptedData = cipher.doFinal(data); System.out.println("加密后===>" + encryptedData); return encryptedData; } /** * 解密方法 * * @param rawKeyData * @param encryptedData * @throws IllegalBlockSizeException * @throws BadPaddingException * @throws InvalidKeyException * @throws NoSuchAlgorithmException * @throws NoSuchPaddingException * @throws InvalidKeySpecException */ public static String decrypt(byte rawKeyData[], byte[] encryptedData) throws IllegalBlockSizeException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeySpecException { // DES算法要求有一个可信任的随机数源 SecureRandom sr = new SecureRandom(); // 从原始密匙数据创建一个DESKeySpec对象 DESKeySpec dks = new DESKeySpec(rawKeyData); // 创建一个密匙工厂,然后用它把DESKeySpec对象转换成一个SecretKey对象 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey key = keyFactory.generateSecret(dks); // Cipher对象实际完成解密操作 Cipher cipher = Cipher.getInstance("DES"); // 用密匙初始化Cipher对象 cipher.init(Cipher.DECRYPT_MODE, key, sr); // 正式执行解密操作 byte decryptedData[] = cipher.doFinal(encryptedData); System.out.println("解密后===>" + new String(decryptedData)); return new String(decryptedData); } }
发表评论
-
snmp
2020-04-13 11:07 431https://www.iteye.com/blog/zhan ... -
snmp
2020-04-10 21:33 568https://blog.csdn.net/qq_333141 ... -
服务器监控软件
2019-12-31 11:07 516[ERROR] org.hyperic.sigar.Sigar ... -
多数据源
2019-12-23 22:09 458https://gitee.com/baomidou/dyna ... -
mybatis多数据源
2019-12-23 18:09 452https://blog.csdn.net/qq_288042 ... -
springboot ueditor
2019-12-17 18:26 384https://blog.csdn.net/u01216982 ... -
java支持多数据源
2019-12-13 15:59 461spxcms是否支持多数据源 ... -
java日志
2019-12-10 12:01 302https://blog.csdn.net/peng_wei_ ... -
spring 多数据源
2019-12-06 09:55 436https://www.jb51.net/article/10 ... -
idea
2019-12-04 17:13 415https://blog.csdn.net/dengachao ... -
手机大屏
2019-11-30 16:02 353http://demo.demohuo.top/modals/ ... -
quarz配置
2019-11-08 11:48 467https://blog.csdn.net/BryantLmm ... -
mysql同步
2019-11-06 12:20 355https://blog.csdn.net/baidu_418 ... -
nginx配置多个服务
2019-11-04 20:35 777https://blog.csdn.net/everljs/a ... -
h5 加壳
2019-11-04 16:05 632https://jingyan.baidu.com/artic ... -
jeui 前端框架
2019-10-22 14:30 1211http://www.jemui.com/demo/ http ... -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ htt ... -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/
相关推荐
- **ECB(Electronic Codebook)模式**:是最简单的加密模式,每个明文块独立加密,不考虑上下文,因此不适用于相同明文块的加密。 - **CBC(Cipher Block Chaining)模式**:每个明文块加密前先与前一个密文块...
由于Java不直接支持对字符进行加减运算,所以我们需要将字符转换为其ASCII值进行计算,然后再转换回字符。 在Java中,我们可以创建两个方法,一个用于加密,一个用于解密。加密方法接收明文字符串、偏移量作为参数...
现在我们来看这个`Caesar.java`文件,它应该是一个实现凯撒加密算法的Java程序。 在Java中,我们通常会定义一个名为`Caesar`的类,包含两个主要功能:加密(encrypt)和解密(decrypt)。这些方法可能接受字符串或...
在Java平台上实现凯撒密码的加密和解密,可以深入理解字符处理和加密原理,同时提供了一个学习基础加密算法和软件开发实践的良好案例。 首先,我们需要理解Java平台开发的基本知识。Java是一种广泛使用的面向对象的...
9. **实际应用**:这样的工具可能用于个人数据保护、简单的通信加密,或者作为更复杂加密系统的组成部分。 在深入研究这个项目之前,开发者或使用者需要具备基本的Java编程技能,理解加密和解密的基本原理,以及...
实例18 矩阵的加减和转置 43 实例19 数组实现顺序栈与队列 46 实例20 Arrays数组的应用 50 第5章 面向对象设计 54 实例21 图形面积与周长(抽象类) 54 实例22 宠物结婚(封装) 56 实例23 一个盒子(继承) ...
5. **通信服务端(simpleServer.java)**:这是一个简单的服务器端实现,用于处理客户端的请求,可能包括数据接收、解析、响应等。在进行网络编程时,这类工具类可以帮助快速搭建基础的服务器框架。 6. **通信客户端...
在本JAVA课程设计中,学生将承担创建一个简单的计算器的任务,该计算器不仅要求具备基本的数学运算功能,还应有用户友好的交互界面和额外的辅助功能。此项目旨在帮助学生深入理解和掌握Java编程语言,同时熟悉GUI...
2. **TimeUtil.java** 和 **DateUtil.java**:时间日期工具类,提供了处理时间和日期的函数,如获取当前时间、时间格式化、时间比较、日期加减等。在处理日期和时间相关的业务逻辑时,这两个工具类可以极大地提升...
在Java或Android开发中,可以通过将字符转换为ASCII码,然后加减位移量,再转换回字符来实现加密和解密。以下是一个简单的凯撒密码的Java实现: ```java public class CaesarCipher { // 加密 public static ...
- **`change()`** 方法:这个方法实现了对输入字符串的简单加密。它遍历输入字符串中的每个字符,对于数字字符、大写字母和小写字母分别进行不同的偏移变换。例如,数字字符通过加上5并取模10后再还原,实现了简单的...
实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象...
实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂模式) 246 实例160...
在探讨这个主题之前,我们先简单了解一下MyEclipse及其注册码的基本概念。 ### MyEclipse简介 MyEclipse是基于Eclipse平台的一个增强版集成开发环境(IDE),主要用于Java EE应用开发。它提供了大量的插件支持,如...
实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂...
实例155 实现加减乘除的方法 240 8.3 面向对象的设计模式 241 实例156 Singleton单例模式 242 实例157 招聘(简单工厂模式) 243 实例158 同学聚会(工厂方法模式) 244 实例159 图书展(抽象工厂模式) 246 ...
在提供的代码片段中,我们可以看到一个简单的MD5加密算法实现。下面是对其中关键部分的解释: #### 1. 定义常量 ```java static final int S11 = 7; static final int S12 = 12; static final int S13 = 17; ...
"Ciframento_CesarIterativo_Java"这个项目显然涉及到使用Java语言实现的一种迭代版的凯撒密码(Caesar Cipher)加密算法。凯撒密码是一种古老的替换式加密技术,通过将明文中的每个字符按照固定位数进行字母表上的...