📄 example.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 + -