⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example.c

📁 加解密包
💻 C
字号:
/**   Time-stamp: <Thu Jul. 25 2002 15:28:11 Modified by tony>      Contact: Tony Song   revision : 1.2.0       This sample code works on:   Solaris 2.6 and above, Linux, Win32, IBM OS/390   Dependency: sfile_api.h, lib_sfile_XXX.a      purpose:  explain the usage of the following functions:      int PBE_EncryptFile(char* passwd,const char* in,const char* out);   int PBE_DecryptFile(char* passwd,const char* in,const char* out);**/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include "sfile_api.h"void Usage();int main(int argc, char* argv[]) {  char passwd[128];  char sFileName[256];  FILE *fp;  int flag;  if(argc < 5) {    Usage();    return -1;  }    /**************** Do encryption ****************/  if (strcmp(argv[1], "E") == 0) {    /* sfile E -in sourcefile -p password */    if ( argc == 6 && argv[2][0] == '-' && argv[2][1] == 'i' && argv[2][2] == 'n' 	 && argv[4][0] == '-' && argv[4][1] == 'p'  ) {      if ( strlen(argv[5]) < 8 ) {	printf("Password must be at least 8 chars.\n");	return -1;      }            fp=fopen(argv[3],"rb");      if ( fp == NULL ) {	printf("Can't open the source file!\n");	return -1;      }      fclose(fp);            strcpy(passwd,argv[5]);				      strcpy(sFileName,argv[3]);      strcat(sFileName,".sealed");      /**** make sfile API call ****/      /*PBE_EncryptFile(passwd,ClearTextFileName,EncryptedFileName);*/      flag=PBE_EncryptFile(passwd,argv[3],sFileName);      printf("Return flag is [%d]\n",flag);      if ( flag == 0 ) {	printf("Encrypt successfully!\n");	return 0;      } else return -1;    }  }  /**************** Do decryption ****************/  if (strcmp(argv[1], "D") == 0) {    /*  sfile D -in encryptedfile -out targetfile -p password  */    if( argc != 5 && argc != 6 && argc != 7 && argc != 8 ) {      Usage();      return -1;				    }    if ( argc == 8 && argv[2][0] == '-' && argv[2][1] == 'i' && argv[2][2] == 'n' 	 && argv[4][0] == '-' && argv[4][1] == 'o' && argv[4][2] == 'u'  && argv[4][3] == 't' 	 && argv[6][0] == '-' && argv[6][1] == 'p'  ) {      strcpy(passwd,argv[7]);            fp=fopen(argv[3],"rb");	      if ( fp == NULL ) {	printf("Can't open the source file %s \n",argv[3]);	return -1;      }      fclose(fp);            fp=fopen(argv[5],"wb");	      if ( fp == NULL ) {	printf("Can't open the target file %s \n",argv[5]);	return -1;      }      fclose(fp);      /**** make sfile API call ****/      /*PBE_DecryptFile(passwd,EncryptedFileName,ClearTextFileName);*/      flag=PBE_DecryptFile(passwd,argv[3],argv[5]);      printf("Return flag is [%d]\n",flag);      if ( flag == 0 ) {	printf("Decrypt successfully!\n");	return 0;      } else return -1;    }  }  Usage();  return -1;}void Usage() {  printf(" Usage:\n");  printf(" sfile E -in originalfile -p password                     ;to encrypt file\n");  printf(" sfile D -in encryptedfile -out targetfile -p password    ;to decrypt file\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -