基础加密组件--Coder(测试代码)
2010-04-07 19:02
369 查看
package cn.mahayu.tools.encryption; import static org.junit.Assert.*; import java.math.BigInteger; import org.junit.Test; public class CoderTest { @Test public void test() throws Exception { String inputStr = "简单加密"; System.err.println("原文:/n" + inputStr); byte[] inputData = inputStr.getBytes(); String code = Coder.encryptBASE64(inputData); System.err.println("BASE64加密后:/n" + code); byte[] output = Coder.decryptBASE64(code); String outputStr = new String(output); System.err.println("BASE64解密后:/n" + outputStr); // 验证BASE64加密解密一致性 assertEquals(inputStr, outputStr); // 验证MD5对于同一内容加密是否一致 assertArrayEquals(Coder.encryptMD5(inputData), Coder .encryptMD5(inputData)); // 验证SHA对于同一内容加密是否一致 assertArrayEquals(Coder.encryptSHA(inputData), Coder .encryptSHA(inputData)); String key = Coder.initMacKey(); System.err.println("Mac密钥:/n" + key); // 验证HMAC对于同一内容,同一密钥加密是否一致 assertArrayEquals(Coder.encryptHMAC(inputData, key), Coder.encryptHMAC( inputData, key)); BigInteger md5 = new BigInteger(Coder.encryptMD5(inputData)); System.err.println("MD5:/n" + md5.toString(16)); BigInteger sha = new BigInteger(Coder.encryptSHA(inputData)); System.err.println("SHA:/n" + sha.toString(32)); BigInteger mac = new BigInteger(Coder.encryptHMAC(inputData, inputStr)); System.err.println("HMAC:/n" + mac.toString(16)); } }
测试代码
package cn.mahayu.tools.encryption; import static org.junit.Assert.*; import java.math.BigInteger; import org.junit.Test; public class CoderTest { @Test public void test() throws Exception { String inputStr = "简单加密"; System.err.println("原文:/n" + inputStr); byte[] inputData = inputStr.getBytes(); String code = Coder.encryptBASE64(inputData); System.err.println("BASE64加密后:/n" + code); byte[] output = Coder.decryptBASE64(code); String outputStr = new String(output); System.err.println("BASE64解密后:/n" + outputStr); // 验证BASE64加密解密一致性 assertEquals(inputStr, outputStr); // 验证MD5对于同一内容加密是否一致 assertArrayEquals(Coder.encryptMD5(inputData), Coder .encryptMD5(inputData)); // 验证SHA对于同一内容加密是否一致 assertArrayEquals(Coder.encryptSHA(inputData), Coder .encryptSHA(inputData)); String key = Coder.initMacKey(); System.err.println("Mac密钥:/n" + key); // 验证HMAC对于同一内容,同一密钥加密是否一致 assertArrayEquals(Coder.encryptHMAC(inputData, key), Coder.encryptHMAC( inputData, key)); BigInteger md5 = new BigInteger(Coder.encryptMD5(inputData)); System.err.println("MD5:/n" + md5.toString(16)); BigInteger sha = new BigInteger(Coder.encryptSHA(inputData)); System.err.println("SHA:/n" + sha.toString(32)); BigInteger mac = new BigInteger(Coder.encryptHMAC(inputData, inputStr)); System.err.println("HMAC:/n" + mac.toString(16)); } }
相关文章推荐
- 测试Action组件代码(StrutsTestCase)
- Java基础知识强化之IO流笔记72:NIO之 NIO核心组件(NIO使用代码示例)
- C#基础系列:实现自己的ORM(MiniORM的测试代码)
- C语言基础之字符串(附测试代码)
- java基础:位运算用法测试代码
- 性能秒杀log4net的NLogger日志组件(附测试代码与NLogger源码)
- Android安卓——Activity组件代码测试生命周期(续)
- 不一样的Hello Wold 测试你的Java基础 顺便说下此代码执行原理
- 弹出窗口组件基础示例(实例代码)
- 学习笔记:Unity战斗卡牌游戏(一)-----NGUI基础组件使用及代码修改获取
- [组件代码共享]可逆加密,支持中文,支持密钥,支持ASP,加密后的密文每次都不同,且可随意改变算法
- C#基础系列:实现自己的ORM(MiniORM的测试代码)
- 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。 与基础事务管理器的通信失败。 .net 代码里 写事务代码
- 第十五回 基础才是重中之重~老赵写的CodeTimer是代码性能测试的利器
- C#基础系列:实现自己的ORM(MiniORM的测试代码)
- Java基础——MD5处理、加密、解密代码
- 测试Rockey 4 Smart加密锁的.Net C#语言代码
- 淘宝店铺基础版全屏装修步骤及代码,已经经过测试
- Java基础加密组件--BASE64加密
- ios测试基础二:mac 安装并使用git下载代码步骤