字符串加解密

原创 2015年11月18日 18:43:00

题目描述
1、对输入的字符串进行加解密,并输出。
2加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
3、解密方法为加密的逆过程。

直接上代码

/**
     * 
     * @param string
     *            要处理的字符串
     */
    public static void encryptAndunEncrypt(String string) {
        String[] strs = string.split(" ");
        String strEncrypt = strs[0];
        String strunEncrypt = strs[1];
        StringBuilder sbEn = new StringBuilder();
        StringBuilder sbunEn = new StringBuilder();
        for (int i = 0; i < strEncrypt.length(); i++) {
            if (Character.isLetter(strEncrypt.charAt(i))) {
                if (Character.isLowerCase(strEncrypt.charAt(i))) {
                    if (strEncrypt.charAt(i) >= 'a' && strEncrypt.charAt(i) < 'z') {
                        sbEn.append((char) Character.toUpperCase(strEncrypt.charAt(i) + 1));
                    } else {
                        sbEn.append((char) 'A');
                    }
                } else {
                    if (strEncrypt.charAt(i) >= 'A' && strEncrypt.charAt(i) < 'Z') {
                        sbEn.append((char) Character.toLowerCase(strEncrypt.charAt(i) + 1));
                    } else {
                        sbEn.append((char) 'a');
                    }
                }
            } else if (Character.isDigit(strEncrypt.charAt(i))) {
                if (strEncrypt.charAt(i) < '9') {
                    sbEn.append((char) (strEncrypt.charAt(i) + 1));
                } else {
                    sbEn.append((char) '0');
                }
            } else {
                sbEn.append((char) strEncrypt.charAt(i));
            }
        }
        // 解秘
        for (int i = 0; i < strunEncrypt.length(); i++) {
            if (Character.isLetter(strunEncrypt.charAt(i))) {
                if (Character.isLowerCase(strunEncrypt.charAt(i))) {
                    if (strunEncrypt.charAt(i) > 'a' && strunEncrypt.charAt(i) <= 'z') {
                        sbunEn.append((char) Character.toUpperCase(strunEncrypt.charAt(i) - 1));
                    } else {
                        sbunEn.append((char) 'Z');
                    }
                } else {
                    if (strunEncrypt.charAt(i) > 'A' && strunEncrypt.charAt(i) <= 'Z') {
                        sbunEn.append((char) Character.toLowerCase(strunEncrypt.charAt(i) - 1));
                    } else {
                        sbunEn.append((char) 'z');
                    }
                }
            } else if (Character.isDigit(strunEncrypt.charAt(i))) {
                if (strunEncrypt.charAt(i) > '0') {
                    sbunEn.append((char) (strunEncrypt.charAt(i) - 1));
                } else {
                    sbunEn.append((char) '9');
                }
            } else {
                sbunEn.append((char) strunEncrypt.charAt(i));
            }
        }
        System.out.println(sbEn.toString() + " " + sbunEn.toString());
    }

简单LinuxC程序关于加密(将任意长字符转换为定长整数)

本程序功能是将任意长字符串转换为定长(16位)整数,这是一个不可逆的过程,所以可以用来给数据加密。以下是我具体实现的代码。 源代码: #include #include #define SIZ...
  • m0_38001783
  • m0_38001783
  • 2017年08月14日 10:50
  • 98

华为OJ平台试题 —— 字符串:字符串加解密

字符串加解密 代码: #include #include void Encrypt (char aucPassword[], char aucResult[]) { int len...
  • Cowena
  • Cowena
  • 2015年08月15日 13:45
  • 1674

字符串加解密

描述: 1、 对输入的字符串进行加解密,并输出。 2、 加密方法为:当内容是英文字母时,则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时...
  • lanximu
  • lanximu
  • 2014年03月01日 20:24
  • 912

一个使用秘钥加/解密字符串的delphi函数

字符串 秘钥 加密
  • risesoft2012
  • risesoft2012
  • 2016年04月16日 11:46
  • 944

android 字符串加解密算法

android 字符串加解密算法 private String encryptPassword(String clearText) { try { DES...
  • u010350809
  • u010350809
  • 2015年10月22日 15:11
  • 2131

java 对字符串的加密解密

import java.security.Key; import java.security.spec.AlgorithmParameterSpec; import javax.crypto.Cip...
  • shuai825644975
  • shuai825644975
  • 2017年05月12日 15:15
  • 2536

linux c加密和解密的例子

此方法利用按位异或的算法,按位异或就是指同位得1,异位得0; 例如:2和1异或 2的二进制是10 1的二进制是01 2^1的结果是00 我们将2^1的结果00再次和1异或 2^1的结果是0...
  • u010193457
  • u010193457
  • 2016年01月04日 11:23
  • 1863

[C/C++]基础字符串的加密解密算法

要求:对任意长度的英文字符串进行加密,加密规则为:对于每一个字母用字母表中该字母后面的第2个字母代替。 PS:大一下学期有过类似的题目,当时写的超级啰嗦,今天写了一个超简单的代码。 直接上代码...
  • BrilliantCoder
  • BrilliantCoder
  • 2017年05月22日 17:39
  • 1861

从网上整理的一些delphi字符串加密解密方法

function Encode(Str: string): string; var //加密   TmpChr: AnsiChar;   i, Len: integer; begin   R...
  • kevinzhaoyp
  • kevinzhaoyp
  • 2012年02月07日 13:06
  • 4418

C++对字符串的小小加密与解密

将输入的一行字符串以加密的形式输出,然后将其解密,解密的字符序列与输入的正文比较,吻合时输出解密的正文,否则解密失败 加密时,将每个字符的ASCII码依次反复加上“4962873”中的数字,并在32(...
  • qq_35244529
  • qq_35244529
  • 2016年08月11日 14:59
  • 3998
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串加解密
举报原因:
原因补充:

(最多只允许输入30个字)