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自带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实现文件的加密解密功能示例
本文实例讲述了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 加密之RSA算法加密与解密的实例详解
java 加密之RSA算法加解密与解密的实例详解 前言: RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名.RSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这恰恰说明该算法有一定的可信性,目前它已经成为最流行的公开密钥算法. RSA的安全基于大数分解的难度.其公钥和私钥是一对大素数(100到200位十进制数或更大)的函
-
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加密解密工具类实例
本文实例讲述了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使用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使用Hutool实现AES、DES加密解密的方法
在Java世界中,AES.DES加密解密需要使用Cipher对象构建加密解密系统,Hutool中对这一对象做再包装,简化了加密解密过程. 介绍 AES和DES同属对称加密算法,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去.收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文.在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加
-
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
因此,今天我要告诉您一个好方法:给Windows 9x/2000文件夹加密.通过给一个文件夹加密就可使该文件夹里的所有文件得到保护.其工作效果,就是在您双击进入该文件夹时系统提示您输入密码,正确则进入,错误则自动退回到硬盘根目录下--非常好用! 1.进入您要进行加密保护的文件夹中,在空白处单击鼠标右键,选择"自定义文件夹-"选项: 2.单击"下一步"选择"自定义"并在副选框中选择"选择或编辑该文件夹的Html模板",单击&qu
-
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
随机推荐
- python中pygame针对游戏窗口的显示方法实例分析(附源码)
- JS实现一键回顶功能示例代码
- asp.net中List的使用方法
- thinkPHP模板引擎用法示例
- 关于mysql基础知识的介绍
- Golang算法问题之数组按指定规则排序的方法分析
- C#时间格式化(Datetime)用法详解
- mysql 实现互换表中两列数据方法简单实例
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- shell学习之printf命令格式化输出语句
- 局域网内架设DNS服务器要谨慎
- Java中使用数组实现栈数据结构实例
- PHP封装的MSSql操作类完整实例
- php将12小时制转换成24小时制的方法
- 浅谈java中String的两种赋值方式的区别
- JavaScript生成简单等差数列
- mysql之explain使用详解(分析索引)
- scrapy spider的几种爬取方式实例代码
- 浅谈vue-router 路由传参的方法
- python进程与线程小结实例分析