|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。把持|原创|源代码完成道理:经由过程判别用户的上岸次数和设置到期工夫与体系现偶然间对照,二者当中有一为不法则提醒软件到期。个中字符串对照经由过程MD5。我想一入手下手把txt设置为埋没形式,而试用期一过就删除txt文件,应当做到对照好的效果,接待会商!msn:yun15291li@hotmail.comQQ:17664554packageAdmin.Control;importjava.io.*;importjava.security.MessageDigest;importAdmin.Control.MD5;importjava.util.*;/***
Title:*****体系
*
Description:****体系
*
Copyright:Copyright(c)2004
*
Company:北京年夜学软件学院
*@author云广*@version1.0*/publicclassControlValid{privatefinalStringREGISTERNUMBER;//加密的原始字符串privateStringmd5Number;//MD5加密后的字符串privateStringwriteContent;//必要写进文本的内容privateintloginTimesLimit;//上岸次数限定privatestaticintloginTimesTrue;//用户的实践上岸次数privateMD5md5Object;//实例化MD5对象privateCalendarcal;//日期工夫类privateintorderTime;//设定的体系到期工夫//机关办法举行初始化赋值publicControlValid(){REGISTERNUMBER="你想输出的准确考证字符串";md5Object=newMD5();loginTimesLimit=99;loginTimesTrue=0;writeContent=null;cal=Calendar.getInstance();orderTime=0;}//前往经由MD5加密过的字符串publicStringreturnMd5String(){try{//失掉经由MD5加密过的字符串md5Number=md5Object.MD5(REGISTERNUMBER);returnmd5Number;}catch(Exceptione){returnnull;}}//将字符串写进指定文本publicvoidwriteFile(){try{StringreturnFileString;intreturnLastLoginTimes=0;//Calendarcal=Calendar.getInstance();//测试取得体系工夫intcurrentDate=cal.get(cal.YEAR)+(cal.get(cal.MONTH)+1)+cal.get(cal.DAY_OF_MONTH);//System.out.println(currentDate);//必要写进文本文件的字符串StringreturnInitDate=this.readFile("InitDate.txt");orderTime=Integer.parseInt(returnInitDate);returnFileString=this.readFile("ControlValid.txt");//取得换行的地位intpos=returnFileString.indexOf("
");if(pos!=-1){returnLastLoginTimes=Integer.parseInt(returnFileString.substring(pos+1,pos+3));}loginTimesTrue=returnLastLoginTimes;this.setLoginTimesTrue();//依据日期和用户上岸次数判别写进的字符串if((currentDate<orderTime)&&(this.getLoginTimesTrue()<loginTimesLimit)){//writeContent=this.returnMd5String()+"
"+this.getLoginTimesTrue();writeContent=this.returnMd5String()+""+this.getLoginTimesTrue();}else{//随机发生一数字举行输出RandomranInt=newRandom();//intrandomInt=;writeContent=String.valueOf(ranInt.nextInt(10000000))+""+this.getLoginTimesTrue();}//将加密过的字符串写进文本文件Filef=newFile("ControlValid.txt");if(!f.exists()){f.createNewFile();}DataOutputStreamoutFile=newDataOutputStream(newBufferedOutputStream(newFileOutputStream(f)));byte[]byteWriteContent=writeContent.getBytes();outFile.write(byteWriteContent);outFile.close();}catch(Exceptione){System.out.println(e.getMessage());}}//在指定文本中读取数据publicStringreadFile(StringfileName){StringsLine="",sResult="";booleantestFirstLine=true;try{DataInputStreaminFile=newDataInputStream(newBufferedInputStream(newFileInputStream(fileName)));while((sLine=inFile.readLine())!=null){if(testFirstLine){sResult=sLine;testFirstLine=false;}else{sResult+="
"+sLine;}}inFile.close();returnsResult;}catch(Exceptione){returnnull;}}//注册字符串与文本中前往的字符串对照publicbooleanContractRegisterString(){StringreturnFileString;Stringmd5String;StringreturnMd5String="";inti=0;returnFileString=this.readFile("ControlValid.txt");//取得换行的地位intpos=returnFileString.indexOf("
");if(pos!=-1){returnMd5String=returnFileString.substring(0,pos);}md5String=this.returnMd5String();//System.out.println(returnFileString);//失掉经由MD5加密过的字符串if(md5String.equals(returnMd5String)){returntrue;}else{returnfalse;}}//用户每上岸一次就把实践上岸次数变量加1publicvoidsetLoginTimesTrue(){loginTimesTrue+=1;}//前往用户实践上岸次数publicstaticintgetLoginTimesTrue(){returnloginTimesTrue;}//主办法测试用publicstaticvoidmain(String[]args){//inti=0;ControlValidcontrolValid=newControlValid();//设置上岸次数//for(i=0;i<25;i++){//controlValid.setLoginTimesTrue();//}//写进内容到文件controlValid.writeFile();controlValid.ContractRegisterString();}}
在1995年5月23日以“Java”的名称正式发布了。 |
|