Java对字符串进行加密解密
要求:
* 对用户输入的每个字符的值进行加密,将解密后的字符串输出
* 对用户输入的已加密字符串进行解密并输出
实现代码:
import java.util.Scanner; /** * 要求: * 1.对用户输入的每个字符的值进行加密,将解密后的字符串输出 * 2.对用户输入的已加密字符串进行解密并输出 * @author Administration * */ public class Encryption { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个英文字符串或揭秘字符串"); //获取用户输入 String password = input.nextLine(); //讲获取的字符串转成字符数组 char[] c = password.toCharArray(); //使用for循环给字符数组加密 for(int i=0;i<c.length;i++){ c[i] = (char)(c[i]^20000); } //输出加密或者解密结果 System.out.println("加密或者解密之后的结果如下:"); System.out.println(new String(c)); } }
运行结果:
*加密过程:
请输入一个英文字符串或揭秘字符串:
I Love You
加密或者解密之后的结果如下:
乩一乬乏乖久一乹乏乕
*解密过程:
请输入一个英文字符串或揭秘字符串:
乩一乬乏乖久一乹乏乕
加密或者解密之后的结果如下:
I Love You
原理解析:
本例的关键技术是异或运算。
原理:如果一个字符(或数值)A与一个数值B进行异或运算得到C,则再用C和B进行以后运算就可以还原得到A。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Java使用Hutool实现AES、DES加密解密的方法
在Java世界中,AES.DES加密解密需要使用Cipher对象构建加密解密系统,Hutool中对这一对象做再包装,简化了加密解密过程. 介绍 AES和DES同属对称加密算法,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去.收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文.在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加
-
使用java自带des加密算法实现文件加密和字符串加密
复制代码 代码如下: import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.security.SecureR
-
java常用工具类之DES和Base64加密解密类
一.DES加密和解密 package com.itjh.javaUtil; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.spec.InvalidKeySpecExc
-
java 加密之RSA算法加密与解密的实例详解
java 加密之RSA算法加解密与解密的实例详解 前言: RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名.RSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法. RSA的安全基于大数分解的难度.其公钥和私钥是一对大素数(100到200位十进制数或更大)的函
-
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
因此,今天我要告诉您一个好方法:给Windows 9x/2000文件夹加密.通过给一个文件夹加密就可使该文件夹里的所有文件得到保护.其工作效果,就是在您双击进入该文件夹时系统提示您输入密码,正确则进入,错误则自动退回到硬盘根目录下--非常好用! 1.进入您要进行加密保护的文件夹中,在空白处单击鼠标右键,选择"自定义文件夹-"选项: 2.单击"下一步"选择"自定义"并在副选框中选择"选择或编辑该文件夹的Html模板",单击&qu
-
Java实现的DES加密解密工具类实例
本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; imp
-
Java实现MD5加密及解密的代码实例分享
基础:MessageDigest类的使用 其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣: /** * 对字符串md5加密 * * @param str * @return */ import java.security.MessageDigest; public static String getMD5(String str) { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.g
-
Java实现文件的加密解密功能示例
本文实例讲述了Java实现文件的加密解密功能分享给大家供大家参考,具体如下: package com.copy.encrypt; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; impor
-
java实现的RC4加密解密算法示例
本文实例讲述了java实现的RC4加密解密算法.分享给大家供大家参考,具体如下: 有一个项目,需要解析一个用户提供的rc4加密后的文件,特意搜索整理了一个Java 版本的RC4加解密算法. public static String HloveyRC4(String aInput,String aKey) { int[] iS = new int[256]; byte[] iK = new byte[256]; for (int i=0;i<256;i++) iS[i]=i; int j = 1;
-
一个Java配置文件加密解密工具类分享
常见的如: 数据库用户密码,短信平台用户密码,系统间校验的固定密码等.本工具类参考了 <Spring.3.x企业应用开发实战>一书 5.3节的实现.完整代码与注释信息如下: 复制代码 代码如下: package com.cncounter.util.comm; import java.security.Key;import java.security.SecureRandom; import javax.crypto.Cipher;import javax.crypto.KeyGenerato
-
Java使用AES加密和解密的实例详解
Java使用AES加密和解密的实例详解 前言: AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128.192.256,分组长度128位,算法应易于各种硬件和软件实现.1998年NIST开始AES第一轮分析.测试和征集,共产生了15个候选算法.1999年3月完成了第二轮AES2的分析.测试.2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为 AES. 在应用方面,尽管DES在安全上
随机推荐
- ExtJS 2.0 GridPanel基本表格简明教程
- js输入框使用正则表达式校验输入内容的实例
- iOS开发中使用UIWebView 屏蔽 alert警告框
- Springboot使用POI实现导出Excel文件示例
- Python的mysql数据库的更新如何实现
- JS创建对象几种不同方法详解
- C#自定义控件VS用户控件
- javascript动态修改Li节点值的方法
- C#获取关键字附近文字算法实例
- Android ShareSDK快速实现分享功能
- JS图片轮播与索引变色功能实例详解
- javascript实现的字符串与十六进制表示字符串相互转换方法
- FCKeditor 2.0 简化和使用
- Java 的 FileFilter文件过滤与readline读行操作实例代码
- js和jquery中循环的退出和继续学习记录
- js确认框confirm()用法实例详解
- lua+love2d制作的2048游戏
- Zero Clipboard js+swf实现的复制功能使用方法
- 浅谈javascript属性onresize
- 从零学Python之入门(四)运算