📄 crypt.java~1~
字号:
/****************************************************************************** (C) Copyright 2004 。* 保留对所有使用、复制、修改和发布整个软件和相关文档的权利。* 本计算机程序受著作权法和国际公约的保护,未经授权擅自复制或* 传播本程序的全部或部分,可能受到严厉的民事和刑事制裁,并* 在法律允许的范围内受到最大可能的起诉。*/ /***************************************************************************** * @作者:Golden Peng * @版本: 1.0 * @时间: 2002-10-08 */ /***************************************************************************** * 修改记录清单 * 修改人 : * 修改记录: * 修改时间: * 修改描述: * */package com.nwcb.collie.util;import java.util.Random.*;/** * Title: 流程服务器 * Description: 包含流程服务器的所有逻辑 2001.11.28 * Copyright: Copyright (c) 1997 * Company: Golden * @author Golden * @version 1.0 *//***名称:COCrypt.class*注意:本类中不应该包括图形界面*作者:Golden*/public class COCrypt { private static int conIntPrefix = 8; private static int conIntSuffix = 8; private static String conStrKey = "what's wrong"; private static int conIntMove = 6; public COCrypt() { }/***名称:LeftBit*功能:把字符转换为ASCII再减去conIntMove*时间:2001-12-6*作者:Golden**/ private static String LeftBit(String strData) { int i,intbit; String lstrResult=new String(""); for(i=0;i< strData.length();i++) { intbit = (int)strData.charAt(i) - conIntMove; if (intbit<0) intbit=intbit + 255; lstrResult=lstrResult + (char)intbit; } return lstrResult; }/***名称:RightBit*功能:把字符转换为ASCII再加上conIntMove*时间:2001-12-6*作者:Golden**/ private static String RightBit(String strData) { int i,intbit; String lstrResult=new String(""); for(i=0;i<strData.length() ;i++) { intbit=(int)strData.charAt(i) + conIntMove; if (intbit > 255) intbit=intbit - 255; lstrResult=lstrResult + (char)intbit; } return lstrResult; }/***名称:myXor*功能:异或运算*时间:2001-12-6*作者:Golden**/private static String myXor(String strPass,String strData ){ int i,intA,c; int B; String lstrResult=new String(""); intA=0; for(i=0;i<strData.length();i++) { B=(int)strPass.charAt(intA) ; intA=intA + 1; if (intA>strPass.length() - 1) intA=0; c=(int)strData.charAt(i); c ^= B; lstrResult += (char)c; } return lstrResult; }/***名称:Encrypt*功能:加密函数*时间:2001-12-6*作者:Golden**/ public static String Encrypt(String strData) { int i,MyValue; String lstrData=new String(""); String strContent=new String(""); String preString=new String(""); String sufString=new String(""); java.util.Random rd=new java.util.Random(); for(i=0;i<conIntPrefix;i++) { MyValue=(int)(255 * rd.nextDouble() ) ; preString +=(char)MyValue; } strContent=preString + strData; for(i=0;i<conIntSuffix;i++) { MyValue=(int)(255 *rd.nextDouble()); sufString +=(char)MyValue; } strContent +=sufString; strContent=myXor(conStrKey,strContent); strContent=RightBit(strContent); String H=new String(""); String J; for(i=0;i<strContent.length(); i++) { J=Integer.toHexString((int)strContent.charAt(i)); if (J.length() ==1) J='0' + J; H=H + J ; } H=("00" + H.length()).substring(("00" + H.length()).length() - 2) + H; return H; }/***名称:Decrypt*功能:解密函数*时间:2001-12-6*作者:Golden**/ public static String Decrypt(String strEncrypt) { String H=new String(""); String J; int i; String lstrEncrypt=new String(""); String strContent=new String(""); lstrEncrypt = strEncrypt.substring(2); for (i = 0;i<lstrEncrypt.length() ;i=i+2 ) { J = lstrEncrypt.substring(i,i + 2) ; strContent = strContent + (char)(Integer.parseInt( Integer.decode("0x" + J).toString())); } strContent=LeftBit(strContent); strContent=myXor( conStrKey, strContent); if ((strContent.length() - conIntSuffix - conIntPrefix) > 0) strContent = strContent.substring(conIntPrefix ,strContent.length() - conIntSuffix ); else strContent = ""; return strContent; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -