java生成密码_java生成密码生成 | 学步园

一、根据当前日期生成MD5加密密码

package com.test;

import java.security.MessageDigest;

import java.text.SimpleDateFormat;

import java.util.Date;

public class Md5Test {

public void toMD5(String plainText) {

try {

//生成实现指定摘要

原文链接:http://www.cnblogs.com/xudong-bupt/archive/2013/05/10/3070899.html

二、生成密码明文和加密后的密码

import sun.misc.BASE64Encoder;

import java.util.Random;

import java.security.MessageDigest;

public class PasswordCreator {

public static class GeneratedPassword {

private String clearText;

private String encrypted;

private GeneratedPassword(String clearText, String encrypted) {

this.clearText = clearText;

this.encrypted = encrypted;

}

public String getClearText() {

return clearText;

}

public String getEncrypted() {

return encrypted;

}

}

//the below number 13,58,74 you can change any number for you company.

public static GeneratedPassword generate(int length) {

Random rnd = new Random(System.currentTimeMillis());

int letterLength = length - 1;

byte[] buf = new byte[letterLength];

for (int i = 0; i < letterLength; ++i) {

int idx = Math.abs(rnd.nextInt()) % 13;

int offset = idx % 2 == 1 ? 58 : 74;

int ch = offset + idx;

buf[i] = (byte) ch;

}

String clearText = insertRandomNumber(buf);

String encrypted = encryptUnsaltedSha1(clearText);

return new GeneratedPassword(clearText, encrypted);

}

//the below number 9, you can change any number for you company.

private static String insertRandomNumber(byte[] buf) {

StringBuffer sb = new StringBuffer(new String(buf));

Random rnd = new Random(System.currentTimeMillis());

int number = Math.abs(rnd.nextInt()) % 9;

int offset = Math.abs(rnd.nextInt()) % (sb.length());

sb.insert(offset, number);

return sb.toString();

}

private static String encryptUnsaltedSha1(String password) {

try {

String alg = "SHA-1";

MessageDigest digest = MessageDigest.getInstance(alg);

digest.update(password.getBytes("UTF-8"));

return new BASE64Encoder().encode(digest.digest());

} catch (Exception e) {

throw new RuntimeException(e);

}

}

//Other service can invoke this util like below:

public static void main(String[] args) {

GeneratedPassword password=generate(6);

System.out.println(password.getClearText());

System.out.println(password.getEncrypted());

}

/*the output like below:

JNRR6A

Yvp+P0KeFaBjamzJ3wW8yDUafko=*/

}

原文链接:http://my.oschina.net/forrest420/blog/103787

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python怎么创建一个二维数组_python 创建二维数组的方法

废话不多说&#xff0c;直接上代码&#xff1a;#codingutf-8def two_di_demo1():a[]for i in range(10):a.append([])for j in range(10):a[i].append(0)print(a)def two_di_demo2():a[]for i in range(10):a.append([])for j in range(10):a[i].append(0)print(a)b [[0] * 10…

java导出excel到本地_POI导出Excel----导出到客户端(本地)

contentType"application/vnd.ms-excel;charsetutf-8"pageEncoding"utf-8"%>//导入要用的包import"org.apache.poi.hssf.usermodel.HSSFWorkbook"%>import"java.io.FileOutputStream"%>import"org.apache.poi.hssf.user…

无法初始化sftp协议。主机是sftp服务器吗?_WinSCP v5.15.3 免费的 开源图形化 SFTP 客户端...

WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件&#xff0c;并且可以直接编辑文件。主要功能WinSCP 可以执行所有基本的文件操作&#xff0c;例如下载和上传。同时允许为文件和目录重…

java中组合_java中组合模式详解和使用方法

组合模式(Composite Pattern)&#xff0c;又叫部分整体模式&#xff0c;是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象&#xff0c;用来表示部分以及整体层次。这种类型的设计模式属于结构型模式&#xff0c;它创建了对象组的树形结构。这种模式创…

道客巴巴vip账号共享2020_腾讯视频VIP怎么两个手机通用?

理论上来说&#xff0c;腾讯视频VIP可以同时在3个设备上登录&#xff0c;但只能在2个设备上同时播放视频。这也就意味着&#xff0c;腾讯视频VIP可以在两个手机上同时使用。腾讯视频VIP基本可以分为微信区、QQ区&#xff0c;两者并不互通。近期腾讯视频手机端修改了登录规则&am…

python3示例_Python3 实例(七)

原标题&#xff1a;Python3 实例(七)Python 将字符串的时间转换为时间戳给定一个字符串的时间&#xff0c;将其转换为时间戳。实例import timea1 "2019-5-10 23:40:00"# 先转换为时间数组timeArray time.strptime(a1, "%Y-%m-%d %H:%M:%S")# 转换为时间戳…

java基础知识一_Java基础知识(一)

类与对象1.对象&#xff1a;客观存在的一切事物称之为对象类&#xff1a;具有相同属性和方法的对象的集合2.类&#xff1a;属性&#xff0c;方法3.修饰符&#xff1a;  public    protected               默认(不写)           private任何地…

python生成相似句子_4种方法计算句子相似度

Edit Distance计算两个字符串之间&#xff0c;由一个转成另一个所需要的最少编辑次数&#xff0c;次数越多&#xff0c;距离越大&#xff0c;也就越不相关。比如&#xff0c;“xiaoming”和“xiamin”&#xff0c;两者的转换需要两步&#xff1a;去除‘o’去除‘g’所以&#x…

mysql主从配置常见问题_mysql 主从复制配置,以及常见问题解决!

一&#xff1a;我的mysql 5.7.15 &#xff0c;系统是centos6.5主从复制配置步骤&#xff1a;瞅清楚&#xff01;配置不要出错&#xff01;&#xff01;二&#xff1a;遇到的问题Got fatal error 1236 from master when reading data from binary log解决方案&#xff1a;在ma…

pythontcp文件传输_python socket实现文件传输(防粘包)

1.文件传输的要点&#xff1a;采用iterator(迭代器对象)迭代读取&#xff0c;提高读取以及存取效率&#xff1b;通过for line in file_handles逐行conn.send()&#xff1b;2.socket粘包问题:[出现原因]&#xff1a;A.TCP协议为了提高传输效率&#xff0c;发送方往往需要收集定量…

python分析txt文件_python解析文本文件

python解析的文件原始数据&#xff1a;汉皇重色思倾国&#xff0c;御宇多年求不得。杨家有女初长成&#xff0c;养在深闺人未识。天生丽质难自弃&#xff0c;一朝选在君王侧。回眸一笑百媚生&#xff0c;六宫粉黛无颜色。春寒赐浴华清池&#xff0c;温泉水滑洗凝脂。侍儿扶起娇…

python中hist函数参数_用hist参数解释Python,python,解读

python用hist参数解读python 中绘制hist的方法有很多&#xff0c;我经常用的是matplotlib直接用x,y绘制&#xff1b;Dataframe直接.hist绘制&#xff1b;绘制直方图1.bins为80的图形fig plt.figure(figsize(15, 9))for i in range(12):plt.subplot(3,4,i1) # 3行4列 位置是i1的…

java 字符串是对象吗_解析Java中的String对象的数据类型

解析Java中的String对象的数据类型2007-06-06eNet&Ciweek1. 首先String不属于8种基本数据类型&#xff0c;String是一个对象。因为对象的默认值是null&#xff0c;所以String的默认值也是null&#xff1b;但它又是一种特殊的对象&#xff0c;有其它对象没有的一些特性。2. …

7-7 六度空间 (30分)_现役球员中,谁最可能成下一位30000分先生?3大前十巨星没戏...

想要在NBA联盟得到3万分有多难&#xff1f;从联盟成立至今的70多年中&#xff0c;总得分超过3万分的球员一共只有7位&#xff0c;他们分别是贾巴尔、马龙、詹姆斯、科比、乔丹、诺维茨基和张伯伦&#xff0c;剩下的强如大鲨鱼、艾弗森都没能完成这一壮举&#xff0c;那现役球员…

java右键弹出菜单_javascript自定义右键弹出菜单实现方法

本文实例讲述了javascript自定义右键弹出菜单实现方法。分享给大家供大家参考。具体实现方法如下&#xff1a;无标题页var oPopup window.createPopup();function PopMenu(id){var oPopBody oPopup.document.body;oPopBody.style.backgroundColor "buttonface";oP…

union all动态表_Excel VBA——动态显示图表

本文讲述将柱形图和折线图做成动态图表的方法。所谓动态是指鼠标点到哪个单元格&#xff0c;就显示活动单元格所在列或行的图表&#xff0c;其中折线图可以让数据点依次显示&#xff0c;使得整个图表不再死板&#xff0c;像变 了一样&#xff01;在开始之前&#xff0c;需要先介…

xnio java_java基础篇---新I/O技术(NIO)

在JDK1.4以前&#xff0c;I/O输入输出处理&#xff0c;我们把它称为旧I/O处理&#xff0c;在JDK1.4开始&#xff0c;java提供了一系列改进的输入/输出新特性&#xff0c;这些功能被称为新I/O(NEW I/O)&#xff0c;新添了许多用于处理输入/输出的类&#xff0c;这些类都被放在ja…

python函数返回none_Python 函数默认返回None的原因

Python 函数默认返回None是什么原因&#xff1f;定义的函数没有返回值&#xff0c;Python 解释器就会强行地默认给注入一段返回逻辑&#xff01;实际上 Python 中有很多行为都是隐性的。Python 有一项默认的做法&#xff0c;很多编程语言都没有&#xff0c;所有函数都会有一个返…

简易计算器 java_用Java做一个简易计算器,要用到哪些知识?

分析问题关键词&#xff1a;Java、计算器深夜无聊&#xff0c;暂且一答。计算器分两个步骤&#xff1a;计算 器篇一 「器」在编程中&#xff0c;我们可以把「器」理解为「GUI(图形界面)」&#xff0c;Java 语言描绘的图形界面有很多种类&#xff0c;比如 awt、swing、javaFX 等…

picturectrl控件中加载图片并显示_如何在EasyX窗体中显示图片

前提&#xff1a;图片必须是.jpg或.bmp格式的图片。(一)将保存在电脑桌面上的图片显示在EasyX窗体中&#xff0c;图片路径为&#xff1a;C:甥敳獲Administrator.USER-20190823VFDesktop锤头镰刀旗.jpg。(二)程序代码&#xff1a;#include#includeint main(){initgraph(500,300)…