/**
* 对字符串加密
*/
public static String encodeStr(String srcDecodeStr){
if (srcDecodeStr == null || srcDecodeStr.trim().isEmpty()) {
System.out.println("输入待加密字符串为空!");
return null;
}
int length = srcDecodeStr.length();
if (length>1000){
System.out.println("输入待加密字符串太长,超过1000个字符!");
return null;
}
for (int i = 0; i < length; i++) {
char charTemp = srcDecodeStr.charAt(i);
if (!(Character.isDigit(charTemp) || Character.isLowerCase(charTemp) || Character.isUpperCase(charTemp))){
System.out.println("输入待加密字符串非法!");
return null;
}
}
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < length; i++) {
Character encodeChar=null;
char charTemp = srcDecodeStr.charAt(i);
if (Character.isDigit(charTemp)){
if (charTemp < '9'){
encodeChar = (char) (charTemp + 1);
}else {
encodeChar='0';
}
}else {
if (Character.isLowerCase(charTemp)){
char newChar = (char) (charTemp - 32);
if (newChar < 'Z'){
encodeChar = (char) (newChar + 1);
}else {
encodeChar='A';
}
}else {
char newChar = (char) (charTemp + 32);
if (newChar < 'z'){
encodeChar = (char) (newChar + 1);
}else {
encodeChar='a';
}
}
}
stringBuilder.append(encodeChar);
}
return stringBuilder.toString();
}

/**
* 对字符串进行解密
*/
public static String decodeStr(String srcEncodeStr){
if (srcEncodeStr == null || srcEncodeStr.trim().isEmpty()) {
System.out.println("输入待解密字符串为空!");
return null;
}
int length = srcEncodeStr.length();
if (length>1000){
System.out.println("输入待解密字符串太长,超过1000个字符!");
return null;
}
for (int i = 0; i < length; i++) {
char charTemp = srcEncodeStr.charAt(i);
if (!(Character.isDigit(charTemp) || Character.isLowerCase(charTemp) || Character.isUpperCase(charTemp))){
System.out.println("输入待加密字符串非法!");
return null;
}
}
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < length; i++) {
Character decodeChar=null;
char charTemp = srcEncodeStr.charAt(i);
if (Character.isDigit(charTemp)){
if (charTemp > '0'){
decodeChar = (char) (charTemp - 1);
}else {
decodeChar='9';
}
}else {
if (Character.isLowerCase(charTemp)){
char newChar = (char) (charTemp - 32);
if (newChar > 'A'){
decodeChar = (char) (newChar - 1);
}else {
decodeChar='Z';
}
}else {
char newChar = (char) (charTemp + 32);
if (newChar > 'a'){
decodeChar = (char) (newChar - 1);
}else {
decodeChar='z';
}
}
}
stringBuilder.append(decodeChar);
}
return stringBuilder.toString();
}
posted on 2025-03-21 07:59  CoderOilStation  阅读(32)  评论(0)    收藏  举报