µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

ÐÂÒ»´úÉÌ»§½ÓÈëÊÖ²áV2.7

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/5/24 16:27:20 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

http://www.ChinaPay.com ChinapayÐÂÒ»´úÉÌ»§½ÓÈëÊÖ²á

1£º³É¹¦ 0£ºÊ§°Ü

?

Êý¾ÝÇ©Ãûº¯Êý: sign ·½·¨ËµÃ÷£º

bool sign(const char* filename, const char* password,

const unsigned char* unSignData, size_t uslen, unsigned char* signData, size_t* slen);

×÷Óãº

¶Ô´«ÈëµÄ×Ö·û´®½øÐÐÊý×ÖÇ©Ãû ²ÎÊý˵Ã÷£º

filename£ºÃØÔ¿Îļþ·¾¶ password£ºÃØÔ¿ÎļþÃÜÂë unSignData£º´ýÇ©Ãû×Ö·û´® uslen£º´úÇ©Ãû×Ö·û´®³¤¶È

signData£º´æ·ÅÇ©Ãû½á¹ûµÄ»º´æµØÖ·

slen£º´æ·ÅÇ©Ãû½á¹ûµÄ»º´æ³¤¶È£¬ÊäÈ볤¶È²»¿ÉÌ«¶Ì£¬·ñÔòº¯Êý·µ»ØÊ§°Ü¡£º¯Êý·µ»ØÊ±´Ë²ÎÊýΪʵ¼ÊÇ©Ãû½á¹ûµÄ³¤¶È¡£

·µ»ØÖµ£º 1£º³É¹¦ 0£ºÊ§°Ü

?

Êý¾ÝÇ©ÃûÑéÖ¤º¯Êý: verify

size_t uslen, const unsigned char* signData, size_t slen);

bool verify(const char* filename, const unsigned char* unSignData, ×÷Óãº

Ñé֤Ŀ±ê×Ö·û´®µÄÇ©ÃûÊÇ·ñÕýÈ· ²ÎÊý˵Ã÷£º

filename£ºÃØÔ¿Îļþ·¾¶ unSignData£ºÔ´×Ö·û´®µØÖ· uslen£ºÔ´×Ö·û´®³¤¶È signData£ºÇ©Ãû×Ö·û´®µØÖ· slen£ºÇ©Ãû×Ö·û´®³¤¶È ·µ»ØÖµ£º 1£º³É¹¦ 0£ºÊ§°Ü

?

ÎļþÇ©ÃûÑéÖ¤º¯Êý: verifyFile

bool verifyFile(const char* certpath, const char* filepath); ×÷Óãº

ÑéÖ¤ÎļþµÄÇ©ÃûÊÇ·ñÕýÈ· ²ÎÊý˵Ã÷£º

certpath£ºÃØÔ¿Îļþ·¾¶

µÚ 25 Ò³ ¹² 35 Ò³

http://www.ChinaPay.com ChinapayÐÂÒ»´úÉÌ»§½ÓÈëÊÖ²á

filepath£º½»Ò×Ö¤Êé·¾¶ ·µ»ØÖµ£º 1£º³É¹¦ 0£ºÊ§°Ü

?

Êý¾Ý¼ÓÃܺ¯Êý: encrypt

unsigned char* to, size_t* tlen);

bool encrypt(const char* filename, unsigned char* from, size_t flen, ×÷Ó㺠¶ÔÊý¾Ý½øÐмÓÃÜ ²ÎÊý˵Ã÷£º

filename£ºÃØÔ¿Îļþ·¾¶ from£º´ý¼ÓÃÜ×Ö·û´® flen£º´ý¼ÓÃÜ×Ö·û´®³¤¶È to£º´æ·ÅÃÜÎĵĻº´æµØÖ·

tlen£º´æ·ÅÃÜÎĵĻº´æ³¤¶È£¬ÊäÈ볤¶È²»¿ÉÌ«¶Ì£¬·ñÔòº¯Êý·µ»ØÊ§°Ü¡£º¯Êý·µ»ØÊ±´Ë²ÎÊýΪʵ¼ÊÃÜÎĵij¤¶È¡£

·µ»ØÖµ£º 1£º³É¹¦ 0£ºÊ§°Ü

?

Êý¾Ý½âÃܺ¯Êý: decrypt

size_t flen, unsigned char* to, size_t* tlen);

bool decrypt(const char* filename, const char* password, unsigned char* from, ×÷Ó㺠¶ÔÃÜÎĽøÐнâÃÜ ²ÎÊý˵Ã÷£º

filename£ºÃØÔ¿Îļþ·¾¶ password£ºÃØÔ¿ÎļþÃÜÂë from£ºÃÜÎÄ×Ö·û´® flen£ºÃÜÎÄ×Ö·û´®³¤¶È

to£º´æ·Å½âÃܺó×Ö·û´®µÄ»º´æ³¤¶È£¬ÊäÈ볤¶È²»¿ÉÌ«¶Ì£¬·ñÔòº¯Êý·µ»ØÊ§°Ü¡£º¯Êý·µ»ØÊǴβÎÊýΪʵ¼Ê½âÃܺóµÄ×Ö·û´®µÄ³¤¶È¡£

·µ»ØÖµ£º 1£º³É¹¦ 0£ºÊ§°Ü

3.4.4.3 ʹÓÃʾÀý´úÂë

#include \#define KEY_LEN 6 #define MEM_LEN 1024 * 4

µÚ 26 Ò³ ¹² 35 Ò³

http://www.ChinaPay.com ChinapayÐÂÒ»´úÉÌ»§½ÓÈëÊÖ²á

int main(int argc, char* argv[]) {

if (sign(pfxfile, passwd, buff, buff_len, sign_buf, &sign_len)) {

printf((char*) sign_buf);

µÚ 27 Ò³ ¹² 35 Ò³

printf(\Êý¾ÝÇ©Ãû==========\\n\size_t sign_len = MEM_LEN;

unsigned char sign_buf[MEM_LEN]; // Ç©Ãû×Ö·û´® memset(sign_buf, 0, sign_len);

if (build_data(p, KEY_LEN, (char*) buff, &buff_len)) { }

printf((char*) buff);

printf(\×Ö´®³¤¶È==========\\n\printf(\printf(\ʧ°Ü\return 0;

printf(\¹¹Ôì×Ö·û´®==========\\n%unsigned char buff[MEM_LEN]; // Ç©ÃûÔ­ÎÄ size_t buff_len = MEM_LEN; memset(buff, 0, buff_len); KEY_VALUE_PAIR p[KEY_LEN]; p[0].key = \

//ÉÌ »§ ºÅ

p[0].value = \p[1].key = \¶© µ¥ ºÅ p[1].value = \p[2].key = \ÉÌ»§ÈÕÆÚ p[2].value = \

p[3].key = \ÉÌ»§Ê±¼ä p[3].value = \

p[4].key = \¶©µ¥½ð¶î p[4].value = \

p[5].key = \½»Ò×ÀàÐÍ p[5].value = \

const char* pfxfile = \const char* passwd = \

const char* cerfile = \

const char* filepath = \

} else {

http://www.ChinaPay.com ChinapayÐÂÒ»´úÉÌ»§½ÓÈëÊÖ²á

}

µÚ 28 Ò³ ¹² 35 Ò³

return 0; printf(\

if (decrypt(pfxfile, passwd, enc_buf, enc_len, dec_buf, &dec_len)) { }

printf((char*) dec_buf); printf(\ʧ°Ü\} else {

if (encrypt(cerfile, buff, buff_len, enc_buf, &enc_len)) { }

printf(\½âÃÜ==========\\n\size_t dec_len = MEM_LEN; unsigned char dec_buf[MEM_LEN]; memset(dec_buf, 0, dec_len);

printf((char*) enc_buf); printf(\ʧ°Ü\} else {

printf(\¼ÓÃÜ==========\\n\size_t enc_len = MEM_LEN; unsigned char enc_buf[MEM_LEN]; memset(enc_buf, 0, enc_len);

printf(\ÎļþÑéÇ©==========\\n\if (verifyFile(cerfile, filepath)) { }

printf(\³É¹¦\printf(\ʧ°Ü\} else {

printf(\Êý¾ÝÑéÇ©==========\\n\

if (verify(cerfile, buff, buff_len, sign_buf, sign_len)) { }

printf(\³É¹¦\printf(\ʧ°Ü\} else { } else { }

printf(\ʧ°Ü\

ËÑË÷¸ü¶à¹ØÓÚ£º ÐÂÒ»´úÉÌ»§½ÓÈëÊÖ²áV2.7 µÄÎĵµ
ÐÂÒ»´úÉÌ»§½ÓÈëÊÖ²áV2.7.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c1pdji4qxkh4zk8n0i2b1_7.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top