WEB 加密解密小系统
来源:互联网 发布:软件空免费下载 编辑:程序博客网 时间:2024/05/22 11:59
http://cuisuqiang.iteye.com/blog/1751523
WEB 加密解密小系统
- 博客分类:
- J2EE
desaes加密解密cuisuqiang
又是在翻阅以前东西时发现了一个WEB加密解密的小系统,麻雀虽小五脏俱全,虽然是以前写的,但是多少有一些参考价值!
系统对每一个文件都录入独立的密码,在查看详细时会要求输入!
系统可以选择AES或DES进行加密,独立密码使用MD5加密后截取作为密钥!
如需参考可下载附件,里面有建库脚本,代码注释和很详尽,欢迎讨论!
请您到ITEYE网站看原创,谢谢!
http://cuisuqiang.iteye.com/ !
系统有注册和登录,显示用户文件,增加文件,显示和删除文件的操作:
系统截图如下:
登录:
用户主页:
新增文件:
查看详细,会要求输入独立密码:
显示:
系统代码目录:
以上为系统展示,详细代码在下面附件中!
加密解密的处理类是:
- package org.util;
- import javax.crypto.Cipher;
- import javax.crypto.spec.SecretKeySpec;
- /**
- * 加密解密工具类 AES 密钥长度为128,192,256 DES密钥长度为56
- * @说明
- * @author cuisuqiang
- * @version 1.0
- * @since
- */
- public class EncodingUtil {
- /**
- * 加密方法
- * @param plainText
- * @param passWord
- * @param model 可是为AES或DES,但是密钥长度必须一致
- * @return
- */
- public static String encrypt(String plainText, String passWord,
- String model) {
- try {
- // 将密码转为字节数组
- byte[] key = passWord.getBytes("utf-8");
- // 构造密钥的功能类
- SecretKeySpec skeySpec = new SecretKeySpec(key, model);
- // 用指定的加密模式得到一个加密的功能类
- Cipher cipher = Cipher.getInstance(model);
- // 用密钥和模式初始化功能类
- cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
- // 执行操作
- byte[] decryptText = cipher.doFinal(plainText.getBytes("utf-8"));
- // 转为指定字符串
- return byte2hex(decryptText);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 解密方法
- * @param cipherText
- * @param passWord
- * @param model 可是为AES或DES,但是密钥长度必须一致
- * @return
- */
- public static String decrypt(String cipherText, String passWord,
- String model) {
- try {
- // 将密码转为字节数组
- byte[] key = passWord.getBytes("utf-8");
- // 构造密钥的功能类
- SecretKeySpec skeySpec = new SecretKeySpec(key, model);
- // 用指定的加密模式得到一个加密的功能类
- Cipher cipher = Cipher.getInstance(model);
- // 用密钥和模式初始化功能类
- cipher.init(Cipher.DECRYPT_MODE, skeySpec);
- // 执行操作
- byte[] plainText = cipher.doFinal(hex2byte(cipherText));
- // 转为指定字符串
- return new String(plainText,"utf-8");
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 16进制字符串转换成字节码
- * @param strhex
- * @return
- */
- private staticbyte[] hex2byte(String strhex) {
- if (strhex == null) {
- return null;
- }
- int l = strhex.length();
- if (l % 2 ==1) {
- return null;
- }
- byte[] b = newbyte[l / 2];
- for (int i =0; i != l / 2; i++) {
- b[i] = (byte) Integer.parseInt(strhex.substring(i *2, i * 2 +2),
- 16);
- }
- return b;
- }
- /**
- * 字节码转换成16进制字符串
- * @param b
- * @return
- */
- private static String byte2hex(byte[] b) {
- String hs = "";
- String stmp = "";
- for (int n =0; n < b.length; n++) {
- stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
- if (stmp.length() == 1) {
- hs = hs + "0" + stmp;
- } else {
- hs = hs + stmp;
- }
- }
- return hs.toUpperCase();
- }
- }
注意我们这里使用的JDBC操作数据库,运行时要先创建数据库:
- -- MYSQL上执行
- DROP database IF EXISTS `pro_07`;
- CREATE DATABASE `pro_07` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- use pro_07;
- DROP TABLE IF EXISTS `t_note`;
- CREATE TABLE `t_note` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `title` varchar(255) DEFAULT NULL,
- `context` varchar(255) DEFAULT NULL,
- `create_time` varchar(255) DEFAULT NULL,
- `newpass` varchar(255) DEFAULT NULL,
- `userid` int(11) DEFAULT NULL,
- `encode_type` int(11) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- DROP TABLE IF EXISTS `t_users`;
- CREATE TABLE `t_users` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `username` varchar(255) DEFAULT NULL,
- `userpass` varchar(255) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其他的都是一些逻辑上的操作!
请您到ITEYE网站看原创,谢谢!
http://cuisuqiang.iteye.com/ !
- WEB 加密解密小系统
- WEB 加密解密小系统
- 加密解密小程序
- 加密解密小程序
- 加密,解密Web.Config
- web.config加密解密
- web.config加密解密
- 加密,解密Web.Config
- WEB 系统中加密/解密URL传输参数
- WEB系统中加密/解密URL传输参数
- WEB系统中加密/解密URL传输参数.
- WEB系统中加密解密URL传输参数.
- 加密与解密小软件
- 文件加密解密小程序
- php加密解密小算法
- Web.config 加密与解密
- 代码加密解密web.config
- web的加密与解密
- 2013年春节前订票经历及经验分享
- WEB 在线相册小系统
- 移动桌面图标位置
- 项目管理的“三边六拍
- VC++、MFC中最好的开源项目
- WEB 加密解密小系统
- CSMA/CA协议分析
- 杭电1001
- maven 管理项目实践指南
- poj 3299 Humidex lightblueme
- JavaMail邮件发送-能发送附件和带背景音乐的邮件的小系统
- 搭建LNMP(linux+nginx+mysql+php)服务器环境配置实例教程
- InputStream和OutputStream
- Seam 无缝集成 JSF