在自己的MIS系统使用简单的加密功能加密基本数据
2004-01-26 01:34
901 查看
package skydev.modules.encryption;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.io.*;
public class Encryption {
public Encryption() {}
/**
* 简单的加密系统
* @param infoToBeEncrypted 需要加密的数据
* @return 返回被加密的数据,数据长度20位
*/
public byte[] getEncryptedData(String infoToBeEncrypted) {
byte[] digest = null; //new byte[20];
try {
//SHA算法返回20位长度,MD5算法返回16位长度
//系统设计数据库使用20位长度,所以这里使用SHA算法
MessageDigest md = MessageDigest.getInstance("SHA"); //"SHA-1"
md.update(infoToBeEncrypted.getBytes("UTF-8"));
digest = md.digest();
}
catch (NoSuchAlgorithmException ex) {
}
finally {
return digest;
}
}
public String byte2hex(byte[] b) { //二进制转字符串
String hs = "";
String stmp = "";
for (int n = 0; n < b.length; n++) {
stmp = (java.lang.Integer.toHexString(b
& 0XFF));
if (stmp.length() == 1) {
hs = hs + "0" + stmp;
}
else {
hs = hs + stmp;
}
}
return hs.toUpperCase();
}
}
package skydev.modules.encryption;
import junit.framework.*;
public class TestEncryption_getEncryptedData
extends TestCase {
private Encryption encryption = null;
protected void setUp() throws Exception {
super.setUp();
/**@todo verify the constructors*/
encryption = new Encryption();
}
protected void tearDown() throws Exception {
encryption = null;
super.tearDown();
}
public void testGetEncryptedData() {
String infoToBeEncrypted = "b";
byte[] expectedReturn = null;
byte[] actualReturn = encryption.getEncryptedData(infoToBeEncrypted);
assertEquals("return value", expectedReturn, actualReturn);
/**@todo fill in the test code*/
}
public static void main(String[] args) {
Encryption enc = new Encryption();
System.out.println(enc.byte2hex(enc.getEncryptedData("abcdef")));
System.out.println(enc.byte2hex(enc.getEncryptedData("ab")));
System.out.println(enc.byte2hex(enc.getEncryptedData("ab")));
}
}
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.io.*;
public class Encryption {
public Encryption() {}
/**
* 简单的加密系统
* @param infoToBeEncrypted 需要加密的数据
* @return 返回被加密的数据,数据长度20位
*/
public byte[] getEncryptedData(String infoToBeEncrypted) {
byte[] digest = null; //new byte[20];
try {
//SHA算法返回20位长度,MD5算法返回16位长度
//系统设计数据库使用20位长度,所以这里使用SHA算法
MessageDigest md = MessageDigest.getInstance("SHA"); //"SHA-1"
md.update(infoToBeEncrypted.getBytes("UTF-8"));
digest = md.digest();
}
catch (NoSuchAlgorithmException ex) {
}
finally {
return digest;
}
}
public String byte2hex(byte[] b) { //二进制转字符串
String hs = "";
String stmp = "";
for (int n = 0; n < b.length; n++) {
stmp = (java.lang.Integer.toHexString(b
& 0XFF));
if (stmp.length() == 1) {
hs = hs + "0" + stmp;
}
else {
hs = hs + stmp;
}
}
return hs.toUpperCase();
}
}
package skydev.modules.encryption;
import junit.framework.*;
public class TestEncryption_getEncryptedData
extends TestCase {
private Encryption encryption = null;
protected void setUp() throws Exception {
super.setUp();
/**@todo verify the constructors*/
encryption = new Encryption();
}
protected void tearDown() throws Exception {
encryption = null;
super.tearDown();
}
public void testGetEncryptedData() {
String infoToBeEncrypted = "b";
byte[] expectedReturn = null;
byte[] actualReturn = encryption.getEncryptedData(infoToBeEncrypted);
assertEquals("return value", expectedReturn, actualReturn);
/**@todo fill in the test code*/
}
public static void main(String[] args) {
Encryption enc = new Encryption();
System.out.println(enc.byte2hex(enc.getEncryptedData("abcdef")));
System.out.println(enc.byte2hex(enc.getEncryptedData("ab")));
System.out.println(enc.byte2hex(enc.getEncryptedData("ab")));
}
}
相关文章推荐
- 使用EF6和MVC5实现一个简单的选课系统--使用EF6实现基本的GRUD功能(2/12)
- 用类名做方法的返回值类型 在学习Java的初始阶段,很多同学使用基本数据类型定义变量和引用类型定义变量以及使用类名做方法的返回值类型常常不知所以。今天我以自己的解读方式和个人的理解作一个简单的解释,和
- 如何使用Access创建一个简单MIS管理系统_Access
- 营配数据质量核查,关于营销mis系统与配电gis系统里面的sql语句查询,做为积累使用,下次就不用重复写同样的语句了。
- Zabbix监控系统功能及基本使用
- Java学习之路0714(一)(markDown标签的简单使用,Java环境配置、Java基本数据类型))
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之完成登录功能
- 设计与实现模块管理系统基本功能定义自己(18--设计模块附件[1])
- 在Linux系统中使用蓝牙功能的基本方法
- 关系型数据的分布式处理系统MyCAT(1)—概述和基本使用教程
- 创业公司使用R语言搭建简单的数据分析系统
- Android最简单的图片裁剪方法,非使用系统裁切功能
- 数据加密的基本使用
- 设计与实现模块管理系统基本功能定义自己(28--所述多个模块之间的关联[4])
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之完成登录功能
- CentOS 6.5 Zabbix监.控系统功能及基本使用
- 设计与实现模块管理系统的基本功能定义自己的(38--终极阶段 综合查询[5])
- Java使用基本JDK操作ZIP文件以及zip文件的加密、解密等功能
- 自己实现简单的AOP(三) 实现增强四项基本功能
- 使用Redis的脚本功能实现Redis中数据简单查询