From 62e6bb1326ebced7d2d6b055ee2718e535e8f80d Mon Sep 17 00:00:00 2001 From: Thomas Zerbs Date: Fri, 6 Jun 2008 18:19:38 +0200 Subject: [PATCH] sample updated - sample ui now works as simple stream (de)crypt utility --- samples/Makefile | 2 +- samples/uim-ui.c | 138 ++++++++++++++++++++++++++++--------------------------- 2 files changed, 72 insertions(+), 68 deletions(-) rewrite samples/uim-ui.c (92%) diff --git a/samples/Makefile b/samples/Makefile index 5cba65b..967231f 100644 --- a/samples/Makefile +++ b/samples/Makefile @@ -6,7 +6,7 @@ all: gcc -Wall -g -std=c99 -pedantic -o uim-ui uim-ui.c $(INCPATH) $(LIBPATH) $(LIBS) run: - @LD_LIBRARY_PATH="../libuim/lib/" ./uim-ui + @LD_LIBRARY_PATH="../libuim/lib/" ./uim-ui test "my kewl testtext :D" valgrind: @LD_LIBRARY_PATH="../libuim/lib/" valgrind --leak-check=full ./uim-ui diff --git a/samples/uim-ui.c b/samples/uim-ui.c dissimilarity index 92% index 681a53f..112e66c 100644 --- a/samples/uim-ui.c +++ b/samples/uim-ui.c @@ -1,67 +1,71 @@ -#include - -#include -#include -#include - -int main(void){ - MCRYPT td; - char* pwd = "blaaaaaa"; - char* data=0; - char* b64buf=0; - char* iv=0; - size_t len; - - data=malloc(100); - memset(data,'a',100); - //strcpy(data,"00000001"); - //strcpy(data,"00000000abcdefghijklmopqr"); - strcpy(data,"my kewl test data to encrypt :D!"); - - puts("libuim-test"); - puts("blowfish stuff ...\n"); - - td=uimc_bf_open(); - if(!td){ - puts("error -> open"); - return 1; - } - iv=uimc_bf_init(td,(unsigned char*)pwd,strlen(pwd),0); - if(!iv){ - //puts("error -> init"); - return 1; - } - - len=strlen(data); - printf("plaintext data = %s\nlen = %i\n",data,(int)len); - uimc_bf_encrypt(td,data,len); - b64buf = malloc(modp_b64_encode_len(len)); - if (modp_b64_encode(b64buf, data, len) == -1) { - printf("Error\n"); - return 1; - } - printf("crypted+b64 data = %s\n", b64buf); - - if (modp_b64_decode(data, b64buf, strlen(b64buf)) == -1){ - printf("Error\n"); - return 1; - } - - uimc_bf_deinit(td); - if(!uimc_bf_init(td,(unsigned char*)pwd,strlen(pwd),iv)){ - //puts("error -> init"); - return 1; - } - - uimc_bf_decrypt(td,data,len); - printf("decrypted data = %s\n",data); - - uimc_bf_deinit(td); - uimc_bf_close(td); - - free(iv); - free(b64buf); - free(data); - - return 0; -} +#include + +#include +#include +#include + +int main(int argc, char* argv[]){ + MCRYPT td; + char* pwd = 0; + char* data=0; + char* b64buf=0; + char* iv=0; + size_t len=0; + + if(argc==3){ + len=strlen(argv[2]); + data=malloc(len); + pwd=argv[1]; + }else{ + printf("usage: %s \n",argv[0]); + exit(0); + } + memset(data,'0',len); + strncpy(data,argv[2],len); + + puts("libuim-test"); + puts("blowfish stuff ...\n"); + + td=uimc_bf_open(); + if(!td){ + puts("error -> open"); + return 1; + } + iv=uimc_bf_init(td,(unsigned char*)pwd,strlen(pwd),0); + if(!iv){ + //puts("error -> init"); + return 1; + } + + printf("plaintext data = %s\nlen = %i\n",data,(int)len); + uimc_bf_encrypt(td,data,len); + b64buf = malloc(modp_b64_encode_len(len)); + if (modp_b64_encode(b64buf, data, len) == -1) { + printf("Error\n"); + return 1; + } + printf("crypted+b64 data = %s\n", b64buf); + + if (modp_b64_decode(data, b64buf, strlen(b64buf)) == -1){ + printf("Error\n"); + return 1; + } + + uimc_bf_deinit(td); + if(!uimc_bf_init(td,(unsigned char*)pwd,strlen(pwd),iv)){ + //puts("error -> init"); + return 1; + } + + uimc_bf_decrypt(td,data,len); + printf("decrypted data = %s\n",data); + + uimc_bf_deinit(td); + uimc_bf_close(td); + + free(iv); + free(b64buf); + free(data); + + return 0; +} -- 2.11.4.GIT