导航:首页 > 编程语言 > java随机密码

java随机密码

发布时间:2022-11-12 19:53:19

java 调第三方接口一般都要生成随机字符串后一起加密,请问随机字符串的作用是什么

token俗称令牌。一般用于身份验证。使用MD5或者sha-256

㈡ Java中怎样产生随机数和随机字母

java产生随机数和随机字母,使用madom类,示例如下:

packagecom.qiu.lin.he;

publicclassCeShi{

publicstaticvoidmain(String[]args){

intstr1=0;
for(inti=0;i<25;i++){//你想生成几个字符的,就把4改成几,如果改成1,那就生成一个随机字母.
str1=(char)(Math.random()*26);
}
System.out.println("输出随机生成的字符串"+str1);

Stringstr="";
for(inti=0;i<25;i++){//你想生成几个字符的,就把4改成几,如果改成1,那就生成一个随机字母.
str=str+(char)(Math.random()*26+'A');
}
System.out.println("输出随机生成的字符串"+str);
}
}

运行结果如下:

㈢ java 输入一个数字显示随机密码(密码可以有数字和大小写字母)例如我输入4 随机就是4个密码!请大家帮助

import java.util.Random;
import java.util.Scanner;

public class Zhi {
public static void main(String agrs[]) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
StringBuffer sb = new StringBuffer();
for(int i=0; i<num; i++) {
int a = Math.abs((new Random()).nextInt(57));//产生0~57的随机数
if(a<=9){//将0~9转为char的0~9
sb.append((char)(a+48));
}
else if(a<33){//将10~33转为char的A~Z
sb.append((char)(a+55));
}
else{//将33~57转为char的a~z
sb.append((char)(a+63));
}
}
System.out.println(sb.toString());
}
}

㈣ java中如何编写输出一组由大写和数字组成的6个随机验证码,字母O和I不能输出

importjava.util.Random;

publicclassTest{
publicstaticvoidmain(String[]args){
charc='i';
StringBuffersb=newStringBuffer();
for(inti=0;i<6;i++){
inta=Math.abs((newRandom()).nextInt(57));//产生0~57的随机数
if(a<=9){//将0~9转为char的0~9
sb.append((char)(a+48));
}elseif(a<33){//将10~33转为char的A~Z
if((a+55)==79||(a+55)==73){
sb.append((char)(a+63));
}else{
sb.append((char)(a+55));
}
}else{//将33~57转为char的a~z
sb.append((char)(a+63));
}
}
System.out.println("随机生成的6位密码为:"+sb.toString());
}
}

㈤ Java随机生成指定要求的密码串

public class PassWord {
private static final int Int_WORD = 1;
private static final int STRING_WORD = 2;
private static final int MIX_WORD = 3;

public static String getPassWord(int style, int length) {
if (style == Int_WORD) {
return getIntRandom(length);
} else if (style == STRING_WORD) {
return getCharRandom(length);
} else if (style == MIX_WORD) {
return getMixRandom(length);
}

return getMixRandom(length);
}

private static String getIntRandom(int length) {
int[] array=new int[length];
StringBuilder str = new StringBuilder();
for(int i = 0; i < length; i ++){
array[i] = (int)(Math.random()*10);
str.append(array[i]);
}
return str.toString();
}

private static String getCharRandom(int length) {
int[] array=new int[length];
char[] chars = new char[length];
StringBuilder str = new StringBuilder();
for(int i = 0; i < length; i ++){
while (true) {
array[i] = (int)(Math.random()*1000);
if ((array[i] > 64 && array[i] < 91) ||
(array[i] > 96 && array[i] < 123)) break;
}
chars[i] = (char) array[i];
str.append(chars[i]);
}
return str.toString();
}

private static String getMixRandom(int length) {
int[] array=new int[length];
char[] chars = new char[length];
StringBuilder str = new StringBuilder();
int temp = 0;
for(int i = 0; i < length; i ++){
while (true) {
temp = (int)(Math.random()*1000);
if (temp < 128) break;
}
array[i] = temp;
chars[i] = (char) array[i];
str.append(chars[i]);
}
return str.toString();
}
}

㈥ 通过Java如何实现AES密码算法

1. AES加密字符串

public static byte[] encrypt(String content, String password) {
try {
KeyGenerator kgen = KeyGenerator.getInstance("AES");// 创建AES的Key生产者

kgen.init(128, new SecureRandom(password.getBytes()));// 利用用户密码作为随机数初始化出
// 128位的key生产者
//加密没关系,SecureRandom是生成安全随机数序列,password.getBytes()是种子,只要种子相同,序列就一样,所以解密只要有password就行

SecretKey secretKey = kgen.generateKey();// 根据用户密码,生成一个密钥

byte[] enCodeFormat = secretKey.getEncoded();// 返回基本编码格式的密钥,如果此密钥不支持编码,则返回
// null。

SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");// 转换为AES专用密钥

Cipher cipher = Cipher.getInstance("AES");// 创建密码器

byte[] byteContent = content.getBytes("utf-8");

cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化为加密模式的密码器

byte[] result = cipher.doFinal(byteContent);// 加密

return result;

} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
}
return null;
}
2. AES解密
public static byte[] decrypt(byte[] content, String password) {
try {
KeyGenerator kgen = KeyGenerator.getInstance("AES");// 创建AES的Key生产者
kgen.init(128, new SecureRandom(password.getBytes()));
SecretKey secretKey = kgen.generateKey();// 根据用户密码,生成一个密钥
byte[] enCodeFormat = secretKey.getEncoded();// 返回基本编码格式的密钥
SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");// 转换为AES专用密钥
Cipher cipher = Cipher.getInstance("AES");// 创建密码器
cipher.init(Cipher.DECRYPT_MODE, key);// 初始化为解密模式的密码器
byte[] result = cipher.doFinal(content);
return result; // 明文

} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
}
return null;
}

㈦ JAVA随机产生密码,要求一位数字一个字母,一共9位,求教!

public static void main(String[] args) {

Random r=new Random();
String code="";

for(int i=0;i<9;++i)
{
if(i%2==0) //偶数位生产随机整数
{
code=code+r.nextInt(10);
}
else//奇数产生随机字母包括大小写
{
int temp=r.nextInt(52);
char x=(char)(temp<26?temp+97:(temp%26)+65);
code+=x;
}
}

System.out.println(code);
}

㈧ java输入两个数,生成所给位数的随机密码串(密码包含大写,小写,数字),如输入两个数,

1输入字符串;2对输入的字符串遍历,并分别统计个数;3遍历结束后输出。代码:intmain(){chars[100];intd,x,s,q,i;gets(s);d=x=s=q=0;for(i=0;s[i];i++)if(s[i]>='A'&&s[i]='a'&&s[i]='0'&&s[i]<='9')s++;elseq++;printf("%d%d%d%d\n",d,x,s,q);}

㈨ 用JAVA语言生成随机密码串;

public static String createPassword(int type,int passwordLength){
String pd="";
int math=0;
for(int i=0;i<passwordLength;i++){
math=(int)(Math. random()*10);
pd +=math;
}

}

这个是纯数字的。字母和特殊符号的那些你可以定义一个数组来拼

㈩ java RandomStringUtils随机数生成

生成随机数的那个类使用同一个对象即可

阅读全文

与java随机密码相关的资料

热点内容
短信删除助手文件夹 浏览:688
java办公自动化 浏览:340
php中超链接 浏览:253
linux默认路由设置 浏览:36
linux如何挂载iso 浏览:432
vs程序换文件夹后不能编译 浏览:557
安卓源码编译输入脚本没反应 浏览:47
phpmysql自增 浏览:167
把ppt保存为pdf 浏览:533
汽车密封件加密配件 浏览:887
黑马程序员15天基础班 浏览:560
java调整格式 浏览:521
香港云服务器租用价 浏览:78
linuxsublime3 浏览:560
imac混合硬盘命令 浏览:278
沈阳用什么app租房车 浏览:857
00后高中生都用什么app 浏览:239
戴尔塔式服务器怎么打开独立显卡 浏览:807
医疗程序员招聘 浏览:598
住宿app可砍价是什么意思 浏览:133