¹ØÓÚ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 str = "ÖÐ";
String str1 = new String(str.getBytes("gbk"), "ISO8859-1");
String str2 = new String(str1.getBytes("ISO8859-1"), "gbk");
System.out.println(str2); //Êä³ö"ÖÐ" ......
String newStr = new String(oldStr.getBytes(), "UTF-8");
javaÖеÄStringÀàÊǰ´ÕÕunicode½øÐбàÂëµÄ£¬µ±Ê¹ÓÃString(byte[] bytes, String encoding)¹¹Ôì×Ö·û´®Ê±£¬encodingËùÖ¸µÄÊÇbytesÖеÄÊý¾ÝÊǰ´ÕÕÄÇÖÖ·½Ê½±àÂëµÄ£¬¶ø²»ÊÇ×îºó²úÉúµÄStringÊÇʲô±àÂ뷽ʽ£¬»»¾ä»°Ëµ£¬ÊÇÈÃϵͳ°ÑbytesÖеÄÊý¾ÝÓÉencoding±à ......
typedefΪCÓïÑԵĹؼü×Ö£¬×÷ÓÃÊÇΪһÖÖÊý¾ÝÀàÐͶ¨ÒåÒ»¸öÐÂÃû×Ö¡£µ±typedefÓë½á¹¹½áºÏʹÓÃʱ£¬»áÓÐһЩ±È½Ï¸´ÔÓµÄÇé¿ö£¬¶øÇÒÔÚCÓïÑÔºÍC++ÀïÃæÂÔÓвî±ð£¬±¾ÎĽ«Ïêϸ½²½âtypedef structµÄÓ÷¨¡£
µÚÒ»Õ typedef struct Óë structµÄÇø±ð
1. »ù±¾½âÊÍ
ty ......
package script;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
public class Change {
public static void main(String[] args) throws Exception {
Change c = new Change();
c.utf8toLocaleCode();
&n ......