博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字节数组java加密与解密
阅读量:4676 次
发布时间:2019-06-09

本文共 2165 字,大约阅读时间需要 7 分钟。

这两天一直在查找字节数组之类的问题,今天正好有机会和大家共享一下.

package com.wf.security;import java.security.Key;import java.security.Security;import javax.crypto.Cipher;/** * 加密密解类 * @author wangfeng * @since 2013-4-27 15:50:26 * @version 1.0 * */public class EncryptionDecryption {	private static String strDefaultKey = "wfkey";		/** 加密具工 */	private Cipher encryptCipher = null;		/** 密解具工 */	private Cipher decryptCipher = null;		/**	 * 将byte数组转换为表现16进制的字符串	 * @param arrB 须要转换的byte数组	 * @return 16进制表现的字符串	 * @throws Exception	 */	public static String byteArr2HexStr(byte[] arrB) throws Exception{		int bLen = arrB.length;		//每一个字符占用两个字节,所以字符串的度长需是数组度长的2倍		StringBuffer strBuffer = new StringBuffer(bLen*2);		for(int i=0; i != bLen; ++i){			int intTmp = arrB[i];			//把正数转化为正数			while(intTmp < 0){				intTmp = intTmp + 256;//因为字一个字节是8位,从低往高数,第9位为符号为,加256,相当于在第九位加1			}			//小于0F的数据须要在后面补0,(因为原来是一个字节,在现成变String是两个字节,如果小于0F的话,明说大最也盛不满第一个字节。第二个需弥补0)			if(intTmp < 16){				strBuffer.append("0");			}			strBuffer.append(Integer.toString(intTmp,16));		}		return strBuffer.toString();	}			/**	 * 将表现16进制的字符串转化为byte数组	 * @param hexStr	 * @return	 * @throws Exception	 */	public static byte[] hexStr2ByteArr(String hexStr) throws Exception{		byte[] arrB = hexStr.getBytes();		int bLen = arrB.length;		byte[] arrOut = new byte[bLen/2];		for(int i=0; i
    每日一道理
岭上娇艳的鲜花,怎敌她美丽的容颜?山间清澈的小溪,怎比她纯洁的心灵?

    这里用DES算法,SUN还供提了别的算法。这里只是其中一种。

    测试代码:

package com.wf.test;import org.junit.Test;import com.wf.security.EncryptionDecryption;public class EncryptionTest {	@Test	public void test() throws Exception{		EncryptionDecryption des = new EncryptionDecryption("wf");		String oldStr = "wangfeng";		String newStr = "";		newStr = des.encrypt(oldStr);		System.out.println("加密后:   "+newStr);		oldStr = "";//楚清老数据		oldStr = des.decrypt(newStr);		System.out.println("密解后:  "+oldStr);	}}

    输出信息:

    加密后:   d59c46653b72a6248e03aa55a8fdad6c

密解后:  wangfeng

文章结束给大家分享下程序员的一些笑话语录: 关于编程语言

如果 C++是一把锤子的话,那么编程就会变成大手指头。
如果你找了一百万只猴子来敲打一百万个键盘,那么会有一只猴子会敲出一 段 Java 程序,而其余的只会敲出 Perl 程序。
一阵急促的敲门声,“谁啊!”,过了 5 分钟,门外传来“Java”。
如果说 Java 很不错是因为它可以运行在所有的操作系统上,那么就可以说 肛交很不错,因为其可以使用于所有的性别上。

转载于:https://www.cnblogs.com/xinyuyuanm/archive/2013/04/28/3049893.html

你可能感兴趣的文章
Android上下文菜单ContextMenu
查看>>
JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法
查看>>
Python & Django 学习笔记
查看>>
python第四天练习题
查看>>
【bzoj4543】Hotel加强版(thr)
查看>>
没有标题(1)
查看>>
React-Native学习手册----搭建基于ios平台的开发环境
查看>>
Android手机 Fildder真机抓包
查看>>
[stm32] 中断
查看>>
L1-043 阅览室
查看>>
我大学时代的好朋友要结婚了!
查看>>
RTP Payload Format for Transport of MPEG-4 Elementary Streams over http
查看>>
PAT-1134. Vertex Cover (25)
查看>>
git 命令图解
查看>>
分布式存储系统可靠性系列三:设计模式
查看>>
this关键字的由来及使用
查看>>
两个时间相差多少 .net中的timespan应用
查看>>
递归 换零钱问题——由打靶子问题引申
查看>>
Python-函数基础
查看>>
Extensible Messaging and Presence Protocol (XMPP) 简介
查看>>