java密码安全等级代码 java密码解密

java的线程安全四种方式五个等级四种方式 sychronized关键字 sychronized method(){} sychronized (objectReference) {/*block*/} static synchronized method(){} sychronized(classname class)其中 和 是代表锁当前对象 即一个对象就一个锁 和 代表锁这个类 即这个类java密码安全等级代码的锁要注意java密码安全等级代码的是sychronized method()不是锁这个函数 而是锁对象 即 如果这个类中有两个方法都是sychronized 那么只要有两个线程共享一个该类java密码安全等级代码的reference 每个调用这两个方法之一 不管是否同一个方法 都会用这个对象锁进行同步 锁类的 和 类推 即该类的不同reference调用java密码安全等级代码了sychronized区段的咚咚就会受类锁的控制还有 如果两个函数调用的先后顺序不能被打断 那么可以有个专门的锁对象来完成这个任务 class MyLock{ synchronized getLock() { //####还没写完 }}五个等级参见effective java Item Document thread safetyimmutable不可变对象 thread safe 线程安全的 可以放心使用 如java util Timer conditionally thread safe 条件线程安全的 如Vector和Hashtable 一般是安全的 除非存在几个方法调用之间的顺序不能被打断 这时可以用额外的锁来完成 thread patible 可以使用synchronized (objectReference)来协助完成对线程的调用 thread hostile 不安全的waitnotifyAll在循环中使用wait 使用notifyAll而不是notify pipejava中也有pipe的 四个类 PipedInputStream PipedInputReader PipedOutputStream PipedOutputWriter 下面是一段生产者消费者的代码(摘自core javaII) /* set up pipes */ PipedOutputStream pout = new PipedOutputStream(); PipedInputStream pin = new PipedInputStream(pout ); PipedOutputStream pout = new PipedOutputStream(); PipedInputStream pin = new PipedInputStream(pout ); /* construct threads */ Producer prod = new Producer(pout ); Filter filt = new Filter(pin pout ); Consumer cons = new Consumer(pin ); /* start threads */ prod start(); filt start(); cons start();lishixinzhi/Article/program/Java/gj/201311/27306
java密码:密码为0-9、a-z的字符组合,密码中的字符区分大小写java密码:密码为0-9、a-z的字符组合,密码中的字符区分大小写就如下 。
密码的业务规则密码位数为6-16个字符,区分大小写,支持字母(a-z , A-Z)、数字(0-9)及“_~@#$^”符号 代码如下(示例):^[A-Za-z0-9_~@#$^]{6,16}+$
Java如何判断密码强度?本程序按以下的方式进行评估.
1.如果密码少于5位,那么就认为这是一个弱密码.
2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码.
3.如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则认为这是一个中度安全的密码.
4.如果密码由数字、小写字母、大写字母或其它特殊符号当中的三种以上组成,则认为这是一个比较安全的密码.
本程序将根据用户输入的密码分别显示不同的颜色表示密码的强度,具体程序如下:
以下是引用片段:
script language=javascript
//CharMode函数
//测试某个字符是属于哪一类.
function CharMode(iN){
if (iN=48iN =57) //数字
return 1;
if (iN=65iN =90) //大写字母
return 2;
if (iN=97iN =122) //小写
return 4;
else
return 8; //特殊字符
}
//bitTotal函数
//计算出当前密码当中一共有多少种模式
function bitTotal(num){
modes=0;
for (i=0;i4;i++){
if (num1) modes++;
num=1;
}
return modes;
}
//checkStrong函数
//返回密码的强度级别
function checkStrong(sPW){
if (sPW.length=4)
return 0; //密码太短
Modes=0;
for (i=0;isPW.length;i++){
//测试每一个字符的类别并统计一共有多少种模式.

推荐阅读