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

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

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

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

 

Java代码

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

2021-11-10 11:40:42

数据加解密算法

2018-08-29 14:50:15

文件加密

2010-03-05 14:36:45

2023-12-16 13:21:00

Python元类ORM

2009-08-19 04:14:00

线性链表

2023-02-07 10:40:30

gRPC系统Mac

2018-11-22 14:09:45

iOS架构组件开发

2009-07-14 16:02:42

JDBC例子

2020-11-09 06:38:00

ninja构建方式构建系统

2010-03-05 14:51:31

Linux重要系统目录

2011-09-08 13:41:53

Widget

2016-11-08 18:53:08

编译器

2013-04-25 09:55:21

进程线程

2017-08-17 16:37:59

MySQL数据迁移

2021-11-04 10:29:01

CSS前端

2022-10-31 08:27:53

Database数据数据库
点赞
收藏

51CTO技术栈公众号