Data de publicació: Dec 03, 2011 9:7:48 AM
#include <stdio.h>
#include <string.h>
#define CAR_BASE 33
#define CAR_FIN 255
/************************************************************
* Encripta utilitzant un password
************************************************************/
void vector_a_nul(char v[]){
int i,long_v;
long_v=strlen(v);
for (i=0;i<long_v;i++) v[i]=0;
}
char encripta(char sms[],char sms_enc[],char password[]){
int i,j=0;
int long_sms, long_pass;
int NUMCAR = CAR_FIN - CAR_BASE;
long_sms=strlen(sms);
long_pass=strlen(password);
for (i=0;i<long_sms;i++)
sms_enc[i]=(((sms[i]-CAR_BASE)+(password[j++%long_pass]-CAR_BASE)%NUMCAR)%NUMCAR)+CAR_BASE;
sms_enc[long_sms]=0;
}
char desencripta(char sms_enc[],char sms_des[],char password[]){
int i,j=0;
int long_sms, long_pass;
int NUMCAR = CAR_FIN - CAR_BASE;
long_sms=strlen(sms_enc);
long_pass=strlen(password);
for (i=0;i<long_sms;i++)
sms_des[i]=(((sms_enc[i]-CAR_BASE)-(password[j++%long_pass]-CAR_BASE)%NUMCAR)%NUMCAR)+CAR_BASE;
sms_des[long_sms]=0;
}
void main(){
int num_car_read;
char sms[255];
char sms_enc[255];
char password[9]="s#a345!8)";
vector_a_nul(sms);
vector_a_nul(sms_enc);
/*llegeix des de tuberia*/
while (num_car_read=read(0,sms,254) > 0) {
encripta(sms,sms_enc,password);
write(1,sms_enc,num_car_read);
}
}
#include <stdio.h>
#include <string.h>
#define CAR_BASE 33
#define CAR_FIN 255
/************************************************************
* Encripta utilitzant un password
************************************************************/
void vector_a_nul(char v[]){
int i,long_v;
long_v=strlen(v);
for (i=0;i<long_v;i++) v[i]=0;
}
char encripta(char sms[],char sms_enc[],char password[]){
int i,j=0;
int long_sms, long_pass;
int NUMCAR = CAR_FIN - CAR_BASE;
long_sms=strlen(sms);
long_pass=strlen(password);
for (i=0;i<long_sms;i++)
sms_enc[i]=(((sms[i]-CAR_BASE)+(password[j++%long_pass]-CAR_BASE)%NUMCAR)%NUMCAR)+CAR_BASE;
sms_enc[long_sms]=0;
}
char desencripta(char sms_enc[],char sms_des[],char password[]){
int i,j=0;
int long_sms, long_pass;
int NUMCAR = CAR_FIN - CAR_BASE;
long_sms=strlen(sms_enc);
long_pass=strlen(password);
for (i=0;i<long_sms;i++)
sms_des[i]=(((sms_enc[i]-CAR_BASE)-(password[j++%long_pass]-CAR_BASE)%NUMCAR)%NUMCAR)+CAR_BASE;
sms_des[long_sms]=0;
}
void main(){
int num_car_read;
char sms[145]="Hola, que tal estas, caracandao, meló i boniato?";
char sms_enc[145];
char sms_des[145];
char password[9]="s#a345!8)";
vector_a_nul(sms_enc);
vector_a_nul(sms_des);
/*llegeix des de tuberia*/
while (num_car_read=read(0,sms_enc,1) > 0) {
desencripta(sms_enc,sms_des,password);
write(1,sms_des,num_car_read);
}
}