将七进制字符串转换为int整数(整数转换为七进制),将字符按顺序排列,输出加密后的6为验证码

本文主要是介绍将七进制字符串转换为int整数(整数转换为七进制),将字符按顺序排列,输出加密后的6为验证码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

将七进制字符串转换为int整数 

public static void main(String[] args) {//                   被转换的数字  基数int num=Integer.parseInt("123",7);System.out.println(num);//        System.out.println((int)'0');
//        System.out.println((int)'1');
//        System.out.println((int)'2');
//        System.out.println((int)'3');
//        System.out.println('3'-'0');num=parseInt("-123",7);System.out.println(num);}public static int parseInt(String number,int radix){int end=0;int s=1;if (number.charAt(0)=='-'){s=-1;end=1;}int weight=1;int sum=0;for (int i=number.length()-1;i>=end;i--){char c=number.charAt(i);int n=c-'0';if (n<0||n>=radix){throw new NumberFormatException("数字错误"+c);}sum += n * weight;weight *= radix;}return s==-1? -sum:sum;//这里也能用乘法,不过乘法的性能慢}

将整数转换为其他进制 

public class Demo02 {public static void main(String[] args) {String str=Integer.toString(66,7);System.out.println(str);str=toString(-166,16);System.out.println(str);}static final char[] digi={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};public static String toString(int num,int radix){boolean negative=false;if (num<0){negative=true;num=-num;}char[] chars=new char[32];int index=chars.length-1;do {int last=num % radix;char c=digi[last];chars[index--]=c;num /=radix;}while (num!=0);if (negative){chars[index--]='-';}return new String(chars,index+1,chars.length-index-1);}
}

将字符串安A-Z计算出数量 

package cn.tedu.test;public class Demo03 {public static void main(String[] args) {System.out.println((int)'a');System.out.println((int)'z');System.out.println((int)'A');System.out.println((int)'Z');int[] counter=new int[26];String str="你好QWERTYUIOPAAABBBSDFGHJKLZXCVBNMZZZZZZ";for (int i=0;i<str.length();i++){char c=str.charAt(i);if (c>='A' && c<='Z'){counter[c-'A']++;}}for(char c='A';c<='Z';c++){System.out.println(c+":"+counter[c-'A']);}}}

将字符串安A-Z计算出数量 并且按照从大到小的数量排列 

package cn.tedu.test;import java.util.Arrays;public class Demo04 {public static void main(String[] args) {/*    int[][] counter={{'A',0},{'B',0},{'C',0},{'D',0},{'E',0},{'F',0},{'G',0},{'H',0},{'I',0},{'G',0},{'K',0},{'L',0},{'M',0},{'N',0},{'O',0},{'P',0},{'Q',0},{'I',0},{'S',0},{'T',0},{'U',0},{'V',0},{'W',0},{'X',0},{'Y',0},{'Z',0}};*/int [][] counter=new int [26][2];for (char c='A';c<='Z';c++){counter[c-'A'][0]=c;}String str="你好QWERTYUIOPAAABBBSDFFHGJKJHGDKMVGHJKLZXCVBNMZZZZZZ";for (int i=0;i<str.length();i++){char c=str.charAt(i);if (c>='A' && c<='Z'){counter[c-'A'][1]++;}}Arrays.sort(counter,(arr1,arr2)->arr2[1]-arr1[1]);for(int[] arr:counter){System.out.println((char)arr[0]+":"+arr[1]);}}}

 随机生成六位数,并对算法加密,小写变大写,大写变小写,数字复制n+1次.

package cn.tedu.test;public class test {//随机生成六位数,并对算法加密,小写变大写,大写变小写,数字复制n+1次.public static void main(String[] args) {String m1="QWERTYUIOPASDFGHJKLZXCCVVBNMqwertyuioplmkjnhbgvfcdxsza0123456789";String m2="";StringBuilder buf=new StringBuilder();for (int a=0;a<6;a++){int num = (int) ((Math.random() * 62));String a1 = String.valueOf(m1.charAt(num));System.out.println("输入的字符:"+a1);if (a1.matches("[a-z]")){buf.append(a1.toUpperCase());}else if(a1.matches("[A-Z]")){buf.append(a1.toLowerCase());}else if (a1.matches("[0-9]")){int a2=Integer.parseInt(a1);for (int i = 0; i <a2+1 ; i++) {buf.append(a1);}}String a3=buf.toString();System.out.println("密码为:"+a3);}}
}
public class Demo07 {public static void main(String[] args) {//生产6个字符String chs = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz"+"0123456789-_";char[] code = new char[6];Random r = new Random();for(int i=0; i<code.length; i++){code[i] = chs.charAt(r.nextInt(chs.length()));}System.out.println(code);//进行编码StringBuilder buf = new StringBuilder();for (char c:code) {if(c>='A' && c<='Z'){buf.append((char)(c+32));}else if(c>='a' && c<='z'){buf.append((char)(c-32));}else if(c>='0' && c<='9'){int n = c - '0';for(int i=0; i<=n; i++){buf.append(c);}}else{buf.append("\\").append(c=='-'?'_':'-');}}String encode = buf.toString();System.out.println(encode);
​}}

 

这篇关于将七进制字符串转换为int整数(整数转换为七进制),将字符按顺序排列,输出加密后的6为验证码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/857769

相关文章

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

MySQL 获取字符串长度及注意事项

《MySQL获取字符串长度及注意事项》本文通过实例代码给大家介绍MySQL获取字符串长度及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 获取字符串长度详解 核心长度函数对比⚠️ 六大关键注意事项1. 字符编码决定字节长度2

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c