Pdf-xchange 0 Examples


“01101101” ASCII jadvalida “m”


Download 6.97 Mb.
Pdf ko'rish
bet15/242
Sana03.12.2023
Hajmi6.97 Mb.
#1798925
1   ...   11   12   13   14   15   16   17   18   ...   242
Bog'liq
konf02

“01101101” ASCII jadvalida “m” ga teng, natujaga a ni qo’shamiz, natija 
“Salom” bo’ldi; 
Natijada avvalgi matn “Salom” so’zi hosil bo’ldi. 
Bu algoritmni C tili ikki funksiya bilan ifodalangan : 
int  indexOf(const char c) funksiyasi belgiga mos indeks raqamini topib 
beradi. 
void decode(const char* in, char* out) funksiyasi esa asosiy matnni asl 
holatiga qayrarish jarayoni yuz beradi.
int  indexOf(const char c) 

for (int i = 0; i < 64; i++) 
if (c == TABLE[i]) return i; // agar c = TABLE [ i ] i – indeksga 
teng bo’lsa indeksni  
return -1; // qaytaradi aks holda -1 ni qaytaradi. 

void decode(const char* in, char* out) 

int bits = 0; int i = strlen( in ), k = 0; 
while ( i-- ) // i = 0 bo’lguncha davom etdi.  

bits <<= 6; // bits ni 6 bi chapga suramiz 
bits |= indexOf ( in[ i ] ); // bits ga i- belgini bitlarini qo’shamiz 
if (bits < 0xFF) continue; // agar bitlar soni 8 dan kichik bo’lsa 
keying interatsiga o’tish 
out[ k++ ] = char ( bits & 0xFF ); // 8 bitni ajratib olamiz. 
bits >>= 8; // 8 bit onga suramiz 
}
if (bits != 0) // agar bitlar soni 0 farqli bo’lsa u holda 
out [ k++ ] = char ( bits & 0xFF ); // 8 bitni ajratib olamiz 
out[ k ] = '\0'; 



24 
Bu yerda in argumentida shifrlangam matn beriladi(bu bizda “tvshVTF” 
ga teng) 
out argumentda esa oddiy matn hosil bo’ladi(bu bizda “Salom”
Base64 algoritmining C tilidagi to’liq kodi: 
#include  

Download 6.97 Mb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   242




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling