一个简单的文字加密解密类

开发 后端
我们玩游戏神马的,在安装文件夹里或许会有一些TXT文件,但打开来看却是乱码的。

我们玩游戏神马的,在安装文件夹里或许会有一些TXT文件,但打开来看却是乱码的。

下面演示的是一个简单的文字加密和解密,勿喷。。。

 

Java代码

public class DoChar {     
    private static final int EXP = 1235;     
         
    public static void main(String[] args) {     
        DoChar doChar = new DoChar();     
        String str = "这是测试内容: abcd  123456  =-+";     
        System.out.println("原内容:" + str);     
        String result = doChar.encrypt(str);     
        System.out.println("加密后:" + result);     
        System.out.println("解密后:" + doChar.reencrypt(result));     
    }     
         
    //加密     
    public String encrypt(String str){     
        StringBuffer buf = new StringBuffer();     
        char[] cs = str.toCharArray();     
        char a;     
        for (int i = 0; i < cs.length; i++) {     
            a = (char) ((int)cs[i] + EXP);     
            buf.append(a);     
        }     
        return buf.toString();     
    }     
         
    //解密     
    public String reencrypt(String str){     
        StringBuffer buf = new StringBuffer();     
        char[] cs = str.toCharArray();     
        char a;     
        for (int i = 0; i < cs.length; i++) {     
            a = (char)((int)cs[i] - EXP);     
            buf.append(a);     
        }     
        return buf.toString();     
    }     
    
}    
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.

 

运行结果:

原内容:这是测试内容: abcd 123456 =-+

加密后:钬欂爞邨噘悌???????????????????

解密后:这是测试内容: abcd 123456 =-+

说明:

在方法里用了String的toCharArray()方法先把String转成char数组,而不是直接用String的charAt()方法,这是因为在Stirng非常大的时候,前者的执行效率会高一些。

【编辑推荐】

  1. 深入剖析JAVA反射机制强大功能
  2. 深入剖析Java运行环境组成
  3. Java编译过程与c/c++编译过程有何不同
  4. 浅谈jvm.dll装载过程与源代码分析
  5. Java虚拟机(JVM)中的内存设置详解
责任编辑:金贺 来源: ITEYE博客
相关推荐

2022-03-24 09:13:54

Mybatis加密解密

2022-09-14 10:16:12

MyBatis加密解密

2011-03-24 09:34:41

SPRING

2024-03-01 09:58:44

2018-08-29 14:50:15

文件加密

2021-11-10 11:40:42

数据加解密算法

2023-12-16 13:21:00

Python元类ORM

2010-03-05 14:36:45

2009-07-14 16:02:42

JDBC例子

2020-11-09 06:38:00

ninja构建方式构建系统

2009-08-19 04:14:00

线性链表

2023-02-07 10:40:30

gRPC系统Mac

2018-11-22 14:09:45

iOS架构组件开发

2011-09-08 13:41:53

Widget

2020-03-26 17:00:53

HashMapputJava

2010-04-19 17:21:36

Oracle写文件

2021-07-20 10:30:46

Golanghttp语言

2018-09-18 10:11:21

前端vue.jsjavascript

2020-09-29 15:08:47

Go UI框架开发

2021-11-04 10:29:01

CSS前端
点赞
收藏

51CTO技术栈公众号