JAVAʵÏÖAES¼ÓÃÜ
JAVAʵÏÖAES¼ÓÃÜ
1. Òò×Ó
ÉϴνéÉÜÁË¡¶JAVAʵÏÖAES¼ÓÃÜ¡·£¬ÖмäÌáµ½½üЩÄêDESʹÓÃÔ½À´Ô½ÉÙ£¬ÔÒò¾ÍÔÚÓÚÆäʹÓÃ56λÃÜÔ¿£¬±È½ÏÈÝÒ×±»ÆÆ½â£¬½üЩÄêÀ´Öð½¥±»AESÌæ´ú£¬AESÒѾ±ä³ÉĿǰ¶Ô³Æ¼ÓÃÜÖÐ×îÁ÷ÐÐËã·¨Ö®Ò»£»AES¿ÉÒÔʹÓÃ128¡¢192¡¢ºÍ256λÃÜÔ¿£¬²¢ÇÒÓÃ128λ·Ö×é¼ÓÃܺͽâÃÜÊý¾Ý¡£±¾Îľͼòµ¥½éÉÜÈçºÎͨ¹ýJAVAʵÏÖAES¼ÓÃÜ¡£
2. JAVAʵÏÖ
Ïл°ÉÙÐí£¬ÂÓ¹ýAES¼ÓÃÜÔÀí¼°Ëã·¨£¬¹ØÓÚÕâЩֱ½ÓËÑË÷×¨ÒµÍøÕ¾°É£¬ÎÒÃÇÖ±½Ó¿´JAVAµÄ¾ßÌåʵÏÖ¡£
2.1 ¼ÓÃÜ
´úÂëÓÐÏêϸ½âÊÍ£¬²»¶à·Ï»°¡£
/**
* ¼ÓÃÜ
*
* @param content ÐèÒª¼ÓÃܵÄÄÚÈÝ
* @param password ¼ÓÃÜÃÜÂë
* @return
*/
public static byte[] encrypt(String content, String password) {
try {
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128, new SecureRandom(password.getBytes()));
SecretKey secretKey = kgen.generateKey();
byte[] enCodeFormat = secretKey.getEncoded();
SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");
Cipher cipher = Cipher.getInstance("AES");// ´´½¨ÃÜÂëÆ÷
byte[] byteContent = content.getBytes("utf-8");
cipher.init(Cipher.ENCRYPT_MODE, key);// ³õʼ»¯
byte[] result = cipher.doFinal(byteContent);
return result; // ¼ÓÃÜ
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} c
Ïà¹ØÎĵµ£º
Java ±à³Ì¼¼ÊõÖкº×ÖÎÊÌâµÄ·ÖÎö¼°½â¾ö
ÏÖÔÚ Java ±à³ÌÓïÑÔÒѾ¹ã·ºÓ¦ÓÃÓÚ»¥ÁªÍøÊÀ½ç£¬ÔçÔÚ Sun ¹«Ë¾¿ª·¢ Java ÓïÑÔµÄʱºò£¬¾ÍÒѾ¿¼Âǵ½¶Ô·ÇÓ¢ÎÄ×Ö·ûµÄÖ§³ÖÁË¡£Sun ¹«Ë¾¹«²¼µÄ Java ÔËÐл·¾³£¨JRE£©±¾Éí¾Í·ÖÓ¢ÎİæºÍ¹ú¼Ê°æ£¬µ«Ö»Óйú¼Ê°æ²ÅÖ§³Ö·ÇÓ¢ÎÄ×Ö·û¡£²»¹ýÔÚ Java ±à³ÌÓïÑÔµÄÓ¦ÓÃÖУ¬¶ÔÖÐÎÄ×Ö·ûµÄÖ§³Ö²¢·ÇÈçͬ Java S ......
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 ......
¼ÓÃܺóÊÇÒ»¸ö32λ´óд×Öĸ×éºÏÐÎʽ£¬²¢ÇÒ±¾¼ÓÃÜ·½·¨²»¿ÉÄæ£¡
public String kljm(String dm,String kl)
{
String mw, cmm;
int k, i, tmp, a, hf, lf, bytes = 16;
int mm[], l,rand_seed;
rand_seed = 12345;
int len=kl.length();
if(len>=12) len=12;
mw =kl.substring(0,len) + dm.trim();
l = ......
Õâ¸öËã·¨¼òµ¥,¶øÇÒЧÂʸß,ÿ´Î¿ÉÒÔ²Ù×÷8¸ö×Ö½ÚµÄÊý¾Ý,¼ÓÃܽâÃܵÄKEYΪ16×Ö½Ú,¼´°üº¬4¸öintÊý¾ÝµÄintÐÍÊý×é,¼ÓÃÜÂÖÊýӦΪ8µÄ±¶Êý,Ò»°ã±È½Ï³£ÓõÄÂÖÊýΪ64,32,16,ÍÆ¼öÓÃ64ÂÖ.
Ô´´úÂëÈçÏÂ:
/** *//**
* TeaËã·¨
* ÿ´Î²Ù×÷¿ÉÒÔ´¦Àí8¸ö×Ö½ÚÊý¾Ý
* KEYΪ16×Ö½Ú,ӦΪ°üº¬4¸öintÐÍÊýµÄint[]£¬Ò»¸öintΪ4¸ö×Ö½Ú
* ¼ÓÃܽâÃÜÂÖÊ ......
ÓÐʱºò£¬ÎÒÃÇ¿ÉÄÜÏëÒª¹¹ÔìÒ»¸öºÜ³éÏóµÄ¸¸Àà¶ÔÏó£¬Ëü¿ÉÄܽö½ö´ú±íÒ»¸ö·ÖÀà»ò³éÏó¸ÅÄËüµÄʵÀýûÓÐÈκÎÒâÒ壬Òò´Ë²»Ï£ÍûËüÄܱ»ÊµÀý»¯¡£ÀýÈ磺ÓÐÒ»¸ö¸¸Àà“ Ë®¹û£¨Fruit£©”£¬ËüÓм¸¸ö×ÓÀà“Æ»¹û£¨Apple£©”¡¢“éÙ×Ó£¨Orange£©”¡¢“Ïã½¶£¨Banana£©”µÈ¡£Ë®¹ûÔÚÕâÀï½ö½öÖ»ÊÇ×÷Ϊһ¸ ......