[C/C++ 演算法]-純C++_字串XOR編解碼函數
本篇要分享純C++_字串XOR編解碼函數應用,有興趣的(C/P)同好,歡迎來(C/P)一下哈哈 ^ ^。
程式碼 |
#include <stdio.h> #include <stdlib.h> #include <string.h> char gchrxor[]="jashliao blog at the pixnet.net"; int intEncoder[1000]={-1}; int intDecoder[1000]={-1}; char chrDecoder[1000]; int XorEncoder(char *chrS) {int i,j; int intlenxor=0; int intlenS=0; intlenxor=strlen(gchrxor); intlenS=strlen(chrS);char chrinput=0; char chrxor=0; j=0;for(i=0;i<intlenS;i++) { chrinput=*(chrS+i);if(j<intlenxor) { chrxor=*(gchrxor+j); j++; }else { j=0; chrxor=*(gchrxor+j); } intEncoder[i]=chrinput^chrxor; }return intlenS; }void XorDecoder(int len) {int i,j; int intlenxor=0; int intlenS=len; intlenxor=strlen(gchrxor);char chrinput=0; char chrxor=0; j=0;for(i=0;i<intlenS;i++) { chrinput=intDecoder[i];if(j<intlenxor) { chrxor=*(gchrxor+j); j++; }else { j=0; chrxor=*(gchrxor+j); } chrDecoder[i]=chrinput^chrxor; }}void main() {char chrtest[]="http://www.google.com"; int i=0; int intlenS=0; int data=-1; int j; intlenS=XorEncoder(chrtest); printf("in=%d\n",intlenS); FILE *pf='\0'; pf=fopen("url.txt","w");for(i=0;i<intlenS;i++) { fprintf(pf,"%d,",intEncoder[i]); printf("%d,",intEncoder[i]); } fclose(pf); printf("\n"); pf='\0'; pf=fopen("url.txt","r"); j=0;while(fscanf(pf,"%d,",&data)!=EOF) { printf("%d,",data); intDecoder[j]=data; j++; } fclose(pf); printf("\n"); XorDecoder(j); printf("%s\n",chrDecoder); system("pause");}
|
沒有留言:
張貼留言