¹ØÓÚAESËã·¨ JAVAͬC++»¥½â£¨AES£©
¹ØÓÚ¼Ó½âÃÜJAVAÒ»°ãʹÓõÄJCE£¬¹ØÓÚC++¿ÉÒÔʵÏÖAES¼Ó½âÃܵĿªÔ´ÏîÄ¿¾Í¶àµÄÊý²»Ê¤ÊýµÄ¡£
ÀíÂÛÉÏÉÏËã·¨Ò»Ñù£¬¶Ô³ÆÃÜÔ¿Ò»Ñù¾ÍÄܹ»»¥Ïàʶ±ðÁË¡£
ÏàÐźܶàÈË¿ªÊ¼Ïë·¨¶¼Í¬ÎÒÒ»Ñù£¬Æð³õÎÒJAVAÓÃJCE£¬C++ʹÓÃopenssl¡£
½á¹û·¢ÏÖ¼ÓÃܳöµÄÃÜÎÄÍêÈ«²»Ïàͬ¡£
³öÏÖÎÊÌâ¾ÍÒª½â¾ö
Á˽âÁËÒ»ÏÂJCE£º
JCEÖÐAESÖ§³ÖÎåÖÐģʽ£ºCBC£¬CFB£¬ECB£¬OFB£¬PCBC£»Ö§³ÖÈýÖÖÌî³ä£ºNoPadding£¬PKCS5Padding£¬ISO10126Padding¡£²»Ö§³ÖSSL3Padding¡£²»Ö§³Ö“NONE”ģʽ¡£
ºÃÔÀ´ÓÐģʽºÍÌî³äһ˵¡£
ÔÚOPENSSLÖÐÖ±½ÓÓÐÒ»¸öCBC¼Ó½âÃܺ¯Êý¡£Ìî³äûÕÒµ½£¬ÊÔ¹ýºó·¢ÏÖC++¼ÓÃܳöµÄÄÚÈݱÈJAVAµÄÒª³¤³öÒ»½Ø£¬Ç°ÃæµÄÄÚÈÝÊÇÍêȫһÑùµÄ¡£
ÕâÓ¦¸Ã¾Í³öÏÖÔÚÌî³äÉÏ¡£
±¾À´ÒÔΪÕÒµ½ÎÊÌâ¹Ø¼ü¾ÍÓ¦¸ÃºÜÈÝÒ×½â¾öµÄ¡£½á¹û·¢ÏÖOPENSSLµÄÌî³äÊǹ̶¨ÊµÏֵ쬶øÎÒËùÐèÒª½âÃܵÄjava¶Ë´úÂë²»Äܸ͝¡£
Ò»Ìõ·×ß²»Í¨Ô۾ͻ»Ìõ·¡£×îºó·¢ÏÖÓÐÒ»¸ö¿ªÔ´ÏîÄ¿Botanʲô¶¼ÓжøÇÒͬJCEÊ®·ÖÏàËÆ²¢ÇÒÂú×ãÎÒÒªÇó¿åƽ̨£¬ºÃ¾ÍÊÇËüÁË¡£
¸½£º
Ëã·¨/ģʽ/Ìî³ä 16×Ö½Ú¼ÓÃܺóÊý¾Ý³¤¶È ²»Âú16×Ö½Ú¼ÓÃܺ󳤶È
AES/CBC/NoPadding 16 ²»Ö§³Ö
AES/CBC/PKCS5Padding 32 16
AES/CBC/ISO10126Padding 32 16
AES/CFB/NoPadding 16 &
Ïà¹ØÎĵµ£º
String newStr = new String(oldStr.getBytes(), "UTF-8");
javaÖеÄStringÀàÊǰ´ÕÕunicode½øÐбàÂëµÄ£¬µ±Ê¹ÓÃString(byte[] bytes, String encoding)¹¹Ôì×Ö·û´®Ê±£¬encodingËùÖ¸µÄÊÇbytesÖеÄÊý¾ÝÊǰ´ÕÕÄÇÖÖ·½Ê½±àÂëµÄ£¬¶ø²»ÊÇ×îºó²úÉúµÄStringÊÇʲô±àÂ뷽ʽ£¬»»¾ä»°Ëµ£¬ÊÇÈÃϵͳ°ÑbytesÖеÄÊý¾ÝÓÉencoding±à ......
ÔÚĿǰµÄ¹ØÓÚjava×ÔѧµÄÌÖÂÛÖУ¬×î¾³£¿´µ½µÄ¾ÍÊÇ×êÑС¶Thinking in java¡·(TIJ)µÄ¾Ñ飬µ«ÊÇ£¬¾¡¹ÜʹÓÃTIJ×÷Ϊ½Ìѧ²ÄÁϵĽÌѧÐÐΪҲºÜ¶à£¬ÎÒÈ´ÉÐδ·¢ÏÖÓдӽÌʦ¹ØÓÚÈçºÎ½«TIJÓÃÓÚ½ÌѧµÄÂÛÊö¡£Îª´Ë£¬ÎÒȨ×÷Å×שÒýÓñ¡£
Ê×ÏÈ£¬ÎªÊ²Ã´ÒªÑ§Ï°java£¿°´ÕÕEckelµÄ»°Ëµ£¬ ......
1. byte Èç¹ûûÓи³Öµ£¬ÄÇôjava»á×Ô¶¯½«Ëü¸³ÖµÎª £¨byte£©0;
static String ReadLn (int maxLg) // utility function to read from stdin
{
byte lin[] = new byte [maxLg];
int lg = 0, car = -1;
String line = "";
try
{
while (lg < maxLg)
......
import java.io.*;
public class FileWrite {
public static void main(String args[]) {
String outPut = "C:\\bin";
StringBuffer ab = new StringBuffer();
for(int i=6;i<=30;i++){
ab.append("http://www.test.com/joke/index_"+i+".htm\r\n&qu ......