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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
因此,今天我要告诉您一个好方法:给Windows 9x/2000文件夹加密.通过给一个文件夹加密就可使该文件夹里的所有文件得到保护.其工作效果,就是在您双击进入该文件夹时系统提示您输入密码,正确则进入,错误则自动退回到硬盘根目录下--非常好用! 1.进入您要进行加密保护的文件夹中,在空白处单击鼠标右键,选择"自定义文件夹-"选项: 2.单击"下一步"选择"自定义"并在副选框中选择"选择或编辑该文件夹的Html模板",单击&qu
-
java 加密之RSA算法加密与解密的实例详解
java 加密之RSA算法加解密与解密的实例详解 前言: RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名.RSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法. RSA的安全基于大数分解的难度.其公钥和私钥是一对大素数(100到200位十进制数或更大)的函
-
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使用Hutool实现AES、DES加密解密的方法
在Java世界中,AES.DES加密解密需要使用Cipher对象构建加密解密系统,Hutool中对这一对象做再包装,简化了加密解密过程. 介绍 AES和DES同属对称加密算法,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去.收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文.在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加
-
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常用工具类之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自带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使用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在安全上
-
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
随机推荐
- PHP面试常用算法(推荐)
- 分享shell编程中的几个小技巧
- jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
- Extjs 继承Ext.data.Store不起作用原因分析及解决
- vue2组件实现懒加载浅析
- 详解Java编程中JavaMail API的使用
- jar命令的用法详解
- asp.net MVC使用PagedList.MVC实现分页效果
- Asp.net中使用Sqlite数据库的方法
- MYSQL修改所有表的存储引擎格式语句
- php浏览历史记录的方法
- (转载)JavaScript中匿名函数,函数直接量和闭包
- LZ77压缩算法原理的理解
- 浅谈JS中的反柯里化( uncurrying)
- Android中Service的全面总结
- Android EditText实现关键词批量搜索示例
- php验证码实现代码(3种)
- 模拟flock实现文件锁定
- linux top命令详解与输出结果说明
- Java集合系列之LinkedList源码分析