使用ascii码对字符串进行加密解密
缺陷:密码容易推敲。
package com.ruoyi.web.controller;import java.util.Scanner;public class Encryption {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("明文 :");String str = input.next(); // 从键盘输入字符串System.out.print("密码 K = ");int K = input.nextInt(); // 从键盘输入密码KString newStr = new String(); // 创建新字符串存储密文for (int i = 0; i < str.length(); i++) {char temp = str.charAt(i);if (temp >= 65 && temp <= 90) { //判断是否为大写字母newStr += encryptChar(temp, K, 65, 26);}else if (temp >= 97 && temp <= 122) { // 判断是否为小写字母newStr += encryptChar(temp, K, 97, 26);}else if (temp >= 48 && temp <= 57) { // 判断是否为数字newStr += encryptChar(temp, K, 48, 10);}else {newStr += temp;}}System.out.println("密文 :" + newStr);String FFF = new String();for (int i = 0; i < newStr.length(); i++) {char temp = newStr.charAt(i);if (temp >= 65 && temp <= 90) { //判断是否为大写字母FFF += jiemiChar(temp, K, 90,65, 26);}else if (temp >= 97 && temp <= 122) { // 判断是否为小写字母FFF += jiemiChar(temp, K, 122, 97,26);}else if (temp >= 48 && temp <= 57) { // 判断是否为数字FFF += jiemiChar(temp, K, 57, 48,10);}else {FFF += FFF;}}System.out.println("解密 :" + FFF);}public static char encryptChar(char ch, int key, int minAscii, int mod) {/* 根据字符ASCII码和不同的空间进行加密* ch为所需加密的字符* key为密码* minAscii用以判断空间,65为大写字母,97为小写字母,48为数字空间* mod为空间长度*/int temp = Integer.valueOf(ch);temp = (temp - minAscii + key) % mod + minAscii;return (char) temp;}public static char jiemiChar(char ch, int key, int maxAscii, int minAscii,int mod) {/* 根据字符ASCII码和不同的空间进行加密* ch为所需加密的字符* key为密码* minAscii用以判断空间,65为大写字母,97为小写字母,48为数字空间* mod为空间长度*/int temp = Integer.valueOf(ch);temp=-(maxAscii-temp+key) % mod + maxAscii;return (char) temp;}}
使用ascii码对字符串进行加密解密相关推荐
- python实现加密字符串_Python实现对字符串的加密解密方法示例
本文实例讲述了Python实现对字符串的加密解密方法.分享给大家供大家参考,具体如下: 需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢复中出错. 安 ...
- 把ASCII码的字符串转为数字的16进制
/* 函数名称:AsciiStrToHexArray 功能:把ASCII码的字符串转为数字的16进制 参数dst:存储16进制数组数据指针 参数src:存储ASCII码的字符串指针 返回值:16进制的 ...
- ASCII码与字符串的相互转换
为什么80%的码农都做不了架构师?>>> #问题: 在做微信跳转的时候遇到一个问题,就是需要在回信回调页面上再加上一个自己的回调页面,以便在获得用户openid后接着跳转,结果 ...
- python如何加密字符串_Python实现对字符串的加密解密方法示例
本文实例讲述了Python实现对字符串的加密解密方法.分享给大家供大家参考,具体如下: 需求是是要将密码存在数据库里,所以要加密解密是可逆的,在数据库里不要有特殊字符,防止数据库备份和恢复中出错. 安 ...
- php 字符ascii转中文,PHP ASCII码与字符串相互转换的方法
PHP ASCII码与字符串相互转换的方法 PHP ASCII码与字符串如何相互转换你知道吗?你对PHP ASCII码与字符串相互转换了解吗?下面是小编为大家带来的PHP ASCII码与字符串相互转换 ...
- c语言 ascii码转成字符串,ASCII码与字符串的相互转换
#问题: 在做微信跳转的时候遇到一个问题,就是需要在回信回调页面上再加上一个自己的回调页面,以便在获得用户openid后接着跳转,结果自己的页面urlencode后步行,最终微信调回来的时候我们的地址 ...
- java 读取ascii码_JAVA ASCII码 读入字符串测试
JAVA ASCII码 读入字符串测试 public class RhzfYunTest { public static void main(String[] args) { int lenSize ...
- php 获取ascii码,PHP实现ASCII码与字符串相互转换的方法
class ascii { /** * 将ascii码转为字符串 * @param type $str 要解码的字符串 * @param type $prefix 前缀,默认: * @return t ...
- 字符串转Ascii码与Ascii码转字符串
字符串转Ascii码 private static String convert(String str) { String tmp; StringBuffer sb = new StringBuff ...
最新文章
- 写在Flutter 1.0之前
- 还原淘宝首页最顶部的导航栏(含下拉菜单,图标等)
- Wormholes--POJ 3259
- 崛起吧,亲爱的,该背单词了!!!
- matlab小波分析常用函数
- @getmapping注解的作用_@Transactional注解失效了?你遇到的是这6种场景吧!
- java后端怎么返回音频流_Java语言中的IO流read()方法返回值为什么是int而不是byte?...
- lg函数c语言表达式,lgammal - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
- window.open ()的用法
- java负载均衡搭建_负载均衡环境搭建(nginx和tomcat)
- android 百度地图应用
- P2440 木材加工
- 4. 利用MySQL Shell安装部署MGR集群 | 深入浅出MGR
- OA系统的主要功能和作用是什么
- 记一次replace into引发的死锁问题
- 长沙麻将APP(起手胡)
- Lamp 服务器环境安装
- 数据库读写分离(oracle)
- iPad mini Retina越狱小结
- 【Kubernetes 018】cfssl创建证书并结合RBAC的RoleBinding配置新用户config文件操作详解