Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

TEA¼ÓÃÜËã·¨java°æ

Õâ¸öËã·¨¼òµ¥,¶øÇÒЧÂʸß,ÿ´Î¿ÉÒÔ²Ù×÷8¸ö×Ö½ÚµÄÊý¾Ý,¼ÓÃܽâÃܵÄKEYΪ16×Ö½Ú,¼´°üº¬4¸öintÊý¾ÝµÄintÐÍÊý×é,¼ÓÃÜÂÖÊýӦΪ8µÄ±¶Êý,Ò»°ã±È½Ï³£ÓõÄÂÖÊýΪ64,32,16,ÍÆ¼öÓÃ64ÂÖ.
Ô´´úÂëÈçÏÂ:
/** *//**
* TeaËã·¨
* ÿ´Î²Ù×÷¿ÉÒÔ´¦Àí8¸ö×Ö½ÚÊý¾Ý
* KEYΪ16×Ö½Ú,ӦΪ°üº¬4¸öintÐÍÊýµÄint[]£¬Ò»¸öintΪ4¸ö×Ö½Ú
* ¼ÓÃܽâÃÜÂÖÊýӦΪ8µÄ±¶Êý£¬ÍƼö¼ÓÃÜÂÖÊýΪ64ÂÖ
* */
public class Tea {
//¼ÓÃÜ
public byte[] encrypt(byte[] content, int offset, int[] key, int times){//timesΪ¼ÓÃÜÂÖÊý
int[] tempInt = byteToInt(content, offset);
int y = tempInt[0], z = tempInt[1], sum = 0, i;
int delta=0x9e3779b9; //ÕâÊÇËã·¨±ê×¼¸øµÄÖµ
int a = key[0], b = key[1], c = key[2], d = key[3];
for (i = 0; i £¼ times; i++) {
sum += delta;
y += ((z£¼£¼4) + a) ^ (z + sum) ^ ((z£¾£¾5) + b);
z += ((y£¼£¼4) + c) ^ (y + sum) ^ ((y£¾£¾5) + d);
}
tempInt[0]=y;
tempInt[1]=z;
return intToByte(tempInt, 0);
}
//½âÃÜ
public byte[] decrypt(byte[] encryptContent, int offset, int[] key, int times){
int[] tempInt = byteToInt(encryptContent, offset);
int y = tempInt[0], z = tempInt[1], sum = 0xC6EF3720, i;
int delta=0x9e3779b9; //ÕâÊÇËã·¨±ê×¼¸øµÄÖµ
int a = key[0], b = key[1], c = key[2], d = key[3];
for(i = 0; i £¼ times; i++) {
z -= ((y£¼£¼4) + c) ^ (y + sum) ^ ((y£¾£¾5) + d);
y -= ((z£¼£¼4) + a) ^ (z + sum) ^ ((z£¾£¾5) + b);
sum -= delta;
}
tempInt[0] = y;
tempInt[1] = z;
return intToByte(tempInt, 0);
}
//byte[]ÐÍÊý¾Ýת³Éint[]ÐÍÊý¾Ý
private int[] byteToInt(byte[] content, int offset){
int[] result = new int[content.length £¾£¾ 2]; //³ýÒÔ2µÄn´Î·½ == ÓÒÒÆnλ ¼´ content.length / 4 == content.length £¾£¾ 2
for(int i = 0, j = offset; j £¼ content.length; i++, j += 4){
result[i] = transform(content[j + 3]) | transform(content[j + 2]) £¼£¼ 8 |
transform(content[j + 1]) £¼£¼ 16 | (int)content[j] £¼£¼ 24;
}
return result;
}
//int[]ÐÍÊý¾Ýת³Ébyte[]ÐÍÊý¾Ý
private byte[] intToByte(int[] content, int offset){
byte[] result = new byte[content.length £¼£¼ 2]; //³ËÒÔ2µÄn´Î·½ == ×óÒÆnλ ¼´ conte


Ïà¹ØÎĵµ£º

Java ÖÐStringÀàµÄÖÕ¼«×ܽá


Ò»¡¢²»±äģʽ£º
Ò»¸ö×Ö·û´®¶ÔÏó´´½¨ºóËüµÄÖµ²»Äܸı䡣
String str1="hello";//´´½¨Ò»¸ö¶ÔÏóhello£¬²»»á±ä£»
System.out.println(str1);
str1+=" world!";//Á½¸ö×Ö·û´®¶ÔÏóÕ³Õ³£¬ÏµÍ³Æäʵ´´½¨ÁËÒ»¸öеĶÔÏ󣬰ÑStr1µÄÖ¸Ïò¸ÄÁË£¬Ö¸ÏòеĶÔÏó£»hello¾Í          & ......

JAVA¹Ø¼ü×ÖÏê½â

JAVA¹Ø¼ü×ÖÏê½â
1 finalÊý¾Ý£º
   1>¶ÔÓÚ»ù±¾ÀàÐÍǰ¼ÓÒÔfinalÐÞÊΣ¬±íʾ±»ÐÞÊεıäÁ¿Îª³£Êý£¬²»¿ÉÒÔÐ޸ġ£Ò»¸ö¼ÈÊÇstaticÓÐÊÇfinalµÄ×ֶαíʾֻռ¾ÝÒ»¶Î²»ÄܸıäµÄ´æ´¢¿Õ¼ä¡£
   2>finalÓÃÓÚ¶ÔÏóÓ¦ÓÃʱ£¬finalʹӦÓú㶨²»±ä¡£Ò»µ©ÒýÓñ»³õʼ»¯Ö¸ÏòÒ»¸ö¶ÔÏ󣬾ÍÎÞ·¨ÔÙ°ÑËüÖ¸ÏòÁíÒ»¸ö¶ÔÏó¡£
& ......

JAVA·´Éä»úÖÆ

JAVA·´Éä»úÖÆ
¸ÅÊö
¡¡¡¡ÓÐʱºòÎÒÃÇ˵ij¸öÓïÑÔ¾ßÓкÜÇ¿µÄ¶¯Ì¬ÐÔ£¬ÓÐʱºòÎÒÃÇ»áÇø·Ö¶¯Ì¬ºÍ¾²Ì¬µÄ²»Í¬¼¼ÊõÓë×÷·¨¡£ÎÒÃÇÀÊÀÊÉϿڶ¯Ì¬°ó¶¨£¨dynamic binding£©¡¢¶¯Ì¬Á´½Ó£¨dynamic linking£©¡¢¶¯Ì¬¼ÓÔØ£¨dynamic loading£©µÈ¡£È»¶ø“¶¯Ì¬”Ò»´ÊÆäʵûÓоø¶Ô¶øÆÕ±éÊÊÓõÄÑϸñ¶¨Ò壬ÓÐʱºòÉõÖÁÏñ¶ÔÏóµ¼Ïòµ±³õ±»µ¼Èë±à³ ......

java³£ÓÃÀàµÄʹÓ÷½·¨

java³£ÓÃÀàµÄʹÓ÷½·¨
Interger£ºÕûÊýÀàÐÍ
£±¡¢ÊôÐÔ¡£
static int MAX_VALUE£º·µ»Ø×î´óµÄÕûÐÍÊý£»
static int MIN_VALUE£º·µ»Ø×îСµÄÕûÐÍÊý£»
static Class TYPE £º·µ»Øµ±Ç°ÀàÐÍ¡£
Àý×Ó£º
´úÂë:
System.out.println("Integer.MAX_VALUE: " + Integer.MAX_VALUE );
½á¹ûΪ£ºInteger.MAX_VALUE: 2147483647
&nb ......

JavaµÄ(PO,VO,TO,BO,DAO,POJO)½âÊÍ

PO(persistant object) ³Ö¾Ã¶ÔÏó
ÔÚ o/rÓ³ÉäµÄʱºò³öÏֵĸÅÄÈç¹ûûÓÐo/rÓ³É䣬ûÓÐÕâ¸ö¸ÅÄî´æÔÚÁË¡£Í¨³£¶ÔÓ¦Êý¾ÝÄ£ÐÍ(Êý¾Ý¿â),±¾Éí»¹Óв¿·ÖÒµÎñÂß¼­µÄ´¦Àí¡£¿ÉÒÔ¿´³ÉÊÇÓëÊý¾Ý¿âÖеıíÏàÓ³ÉäµÄjava¶ÔÏó¡£×î¼òµ¥µÄPO¾ÍÊǶÔÓ¦Êý¾Ý¿âÖÐij¸ö±íÖеÄÒ»Ìõ¼Ç¼£¬¶à¸ö¼Ç¼¿ÉÒÔÓÃPOµÄ¼¯ºÏ¡£POÖÐÓ¦¸Ã²»°üº¬ÈκζÔÊý¾Ý¿âµÄ²Ù×÷¡£
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ