encrypt.java
来自「通过随机数和按位算法对字符串的加密解密。(java版)」· Java 代码 · 共 59 行
JAVA
59 行
/**
* 创建日期 2005-8-26
* 字符串加密和解密
* @author 李长松
*/
public class Encrypt
{
//加密方法
public String doCryptograph(String strOriginal)
{
String strReturn=new String();
char charTemp;
int intCrpytion;//
int intRnd; //加密随机数
intRnd=(int)(100*Math.random()+1);
StringBuffer strOriToB=new StringBuffer(strOriginal);//将String参数转换为StringBuffer
/*加密算法:将字符串先进行反转,
*对每个字符强制取整后和产生的随机数进行按位异或,
*再把随机数对应的字符连接到字符串的尾部。
*/
strOriToB=strOriToB.reverse();//反转字符串
for(int i=0;i<strOriToB.length();i++)
{
charTemp=strOriToB.charAt(i);
intCrpytion=(int)charTemp;
intCrpytion=intCrpytion^(intRnd%32);
strReturn+=(char)intCrpytion;
}
strReturn=strReturn+(char)intRnd;
//返回加密后的字符串
return strReturn;
}
//解密方法
public String reCryptograph(String strCryptograph)
{
String strReturn=new String();
int intTemp;
int intCrypt;
String strTemp=new String();
intTemp=(int)strCryptograph.charAt(strCryptograph.length()-1);
strTemp=strCryptograph.substring(0,strCryptograph.length()-1);
for(int i=0;i<strTemp.length();i++)
{
intCrypt=(int)strTemp.charAt(i);
intCrypt=intCrypt^(intTemp%32);
strReturn+=(char)intCrypt;
}
StringBuffer strRe=new StringBuffer(strReturn);
strRe=strRe.reverse();
strReturn=new String(strRe);
return strReturn;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?