1.å¨ç½è®ºå!
2.动网论坛asp的动网源码源代码为什么和我们一般用的不一样
3.jsp md5 å¨ç½è®ºå
å¨ç½è®ºå!
å®å¯è½æ¯è®°å½çæºç ï¼ä¹å°±æ¯æä½ è¾å ¥çå 容ç´æ¥ä½ä¸ºHTMLè¯è¨å è¿å»äºã
ä½ æ³è¦ååºæ¢è¡æè å ¶å®æ ¼å¼ï¼å¯ä»¥è¿æ ·ï¼æå¼DREAMWEAVERï¼ææåå 容è¾å¥½è°æ´å¥½æ ¼å¼ï¼ç¶åéä¸è¿äºæåï¼è½¬å°æºç æ ç¾ï¼å¤å¶è¿äºæºç ï¼ç²è´´å°å¨ç½éé¢ï¼æåæ ¼å¼å°±åºæ¥äº
动网论坛asp的源代码为什么和我们一般用的不一样
他们就是把一堆代码放到不同的位置(表中)到出瞎调用,目的动网源码就是弄迷糊初学者,他们一般全是动网源码xsocket 源码ASP的,
书上的动网源码,就是动网源码陀螺世界的源码脚本语言+HTML。所以容易也好写。动网源码obv双线源码
等你写多了,动网源码你也可以想他们那样写。动网源码
怎么饶迷糊看的动网源码人,怎么写。动网源码
jsp md5 å¨ç½è®ºå
MD5ç®æ³æ¯åºå®çï¼ä¸æ¯è¯´æ人çMD5åå¦å¤çmd5ä¸ä¸æ ·
ä½ æåå¨ç½è®ºåå å¯åçMD5ç ï¼æ¯å¦ä½ å å¯âAAAâ ï¼ç¶åå»æ¾æ åçMD5å å¯AAAï¼å¦æè·å¾çå¯æä¸ä¸æ ·ï¼é£è¯´æå¨ç½è®ºåç³»ç»å¯¹md5è¿è¡äºä¿®æ¹æ2次å å¯ï¼å¦æä½ æ²¡æå¨ç½æºç é£å°±å®å ¨æ²¡æäº
-------------------------------------------
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* é便åçä¸ä¸ªMD5å å¯ åæ°code为åæï¼é»è®¤è¿åå¼ä¸ºMD5çä½å¯æ
*ä½é£è¡å»ææ左端注é符 è¿åå¼å°±æ¯ä½
* */
public String enCodeByMD5(String code) {
String password = code;
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(code.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += ;
if (i < )
buf.append("0");
buf.append(Integer.toHexString(i));
}
password = buf.toString();//ä½çå å¯
// password = password.substring(8,动网源码);//ä½çå å¯
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return password;
}
----------------------------------------
以ä¸ä¸ºMD5å å¯
----------------------------------------
ä¸é¢é£ä¸ªæ¯æèªå·±åçä¸ä¸ªçº¯æ°å¦æ¹æ³å å¯ï¼å¾ç®åï¼æ¨¡ä»¿MD5çä¿¡æ¯æè¦æ³ï¼è¯¥ç®æ³ä¹æ¯ä¸å¯éå å¯ï¼ 尽管ç®æ³å¼ºåº¦ï¼æçï¼é½æ¯ä¸ä¸MD5..ä½æ¯æ¯æ°ç®æ³ï¼æ以ä¸å¯è½ä¼æ穷举æ°æ®åºï¼æºç ä¹æ¯æ第ä¸æ¬¡å¨ç¾åº¦ç¥éä¸åï¼ç®åçå®å ¨æ§åèæ¯MD5é«ä¸äºã
---
public String enCodeByMath(String code) {
int k;
int l;
StringBuffer sbuf = new StringBuffer();
int cl = code.length();
long tempInt1 = 0L;
byte[] tempByte1 = code.getBytes();
byte[] arrayOfByte1 = tempByte1;
int i = 0;
for (int j = arrayOfByte1.length; i < j; ++i) {
byte b = arrayOfByte1[i];
tempInt1 = ((tempInt1 + b + 1L) * (b - cl) - cl * cl) * (b + - cl * cl);
sbuf.append(String.valueOf(Math.abs(tempInt1)));
}
for (i = cl; sbuf.length() < ; ++i)
if (i + 1 < sbuf.length()) {
sbuf.append(sbuf.toString().substring(i, i + 1));
} else
sbuf.append("a");
byte[] tempByte2 = sbuf.toString().getBytes();
int[][] tempInt2 = new int[][];
k = 0;
for (l = 0; l < ; ++l)
for (int j = 0; j < ; ++j) {
tempInt2[l][j] = (tempByte2[k] * cl);
++k;
}
sbuf.delete(0, sbuf.length());
for (l = 0; l < ; ++l)
sbuf.append(Math.abs(tempInt2[l][l] * cl - tempInt2[l][(l + )] * ( - cl)));
String puzzleCode = sbuf.toString();
tempByte2 = null;
tempInt2 = null;
return puzzleCode;
}
irf ..