字符串加解密

原创 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());
    }

C#字符串加解密源码

  • 2014年05月13日 10:23
  • 43KB
  • 下载

.net 字符串加解密工具(源码)

  • 2017年07月25日 09:06
  • 5.63MB
  • 下载

android中使用jni对字符串加解密实现分析

鉴于完全使用C/C++代码进行字符串的加解密,我们需要考虑不同系统平台上数据类型的差异问题,这里推荐另一种易于实现的方法,即使用Java中的AES加解密逻辑,而将AES加解密所需要的核心秘钥放入到C中...

字符串及文件加解密例程

  • 2009年03月02日 08:51
  • 42KB
  • 下载

【华为 OJ 】字符串加解密

1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字...

vb字符串加解密

  • 2013年12月05日 16:43
  • 2KB
  • 下载

javascript加解密字符串

  • 2008年11月25日 13:09
  • 3KB
  • 下载

C#对字符串的加解密

本片文章使用一种简单的方式来演示对数据的加解密 由于,代码比较简单 我就废话不多了,直接上代码的了 string myEnounce = ""; //需要被加密的字符串 ...

[华为OJ--C++]023-字符串加解密

题目描述:对输入的字符串进行加解密,并输出。(字符串中只含有英文字母和数字) 加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串加解密
举报原因:
原因补充:

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