PDA

View Full Version : الگوریتمی برای کد گزاری رشته ها



kasra515
چهارشنبه 17 بهمن 1386, 16:05 عصر
سلام دوستان ، من دنبال یه سورس ساده برای کد گزاری روی رشته ها هستم (یه چیزی تو مایه های md5 ). خودم هم یکی نوشتم اما مشکل داره. مثلا برای ka و kb یه کد تحویل می ده !!!


#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std ;
//----------------
int i;
int *encode(char ch[100])
{
int b[100] , *p ;
char h ;
union
{
int a ;
char c[2];
};
for ( i=0 ; i<strlen(ch) ; i++)
{
a = ch[i] ;
h = c[0] ;
c[0] = c[1] ;
c[1] = h ;
b[i] = a ;
}
p = b ;
return p ;
}

int _tmain(int argc, _TCHAR* argv[])
{
char c[100] ;
int *a ;
gets(c) ;
a = encode(c) ;
for(int j=0 ; j<i ; j++)
cout<<a[j] ;
getch() ;
return 0;
}


اگه میشه یه نمونه از این قبیل کد ها بزارید یا اینکه راهنمایی کنید (راهنمایی رو ترجیح می دم تا لقمه ی آماده:چشمک: )

emad_67
پنج شنبه 18 بهمن 1386, 08:44 صبح
برای کد گذاری رشته ها میتونی از هافمن هم استفاده کنی. البته هافمن یه الگوریتم فشرده سازی هست که با کد گذاری رشته ها این کار رو انجام میده. تو همین سایت هم اگه جستجو کنی در موردش صحبت شده. ولی md5 خیلی پیچیده تر هستش در واقع در md5 رشته ای که کد گذاری میشه دیگه قابل برگشت نیست ولی تو هافمن قابل برگشت هست.
در مورد md5 اینجا رو ببین:
http://barnamenevis.org/forum/showthread.php?t=10025
سورس کد md5 رو هم به زبان c++ راحت میتونی پیدا کنی تو گوگل.

kasra515
پنج شنبه 18 بهمن 1386, 20:07 عصر
سورس md5 رو قبلا دیده بودم . . . خیلی پیچیدست . . . یه کد یا الگوریتم ساده برای آشناییم با کد گزاری می خواستم

kasra515
جمعه 19 بهمن 1386, 22:35 عصر
پس چی شد؟:اشتباه:

emad_67
شنبه 20 بهمن 1386, 12:02 عصر
فکر نکنم ساده تر از این هافمن چیزی رو پیدا کنی. معمولا همه الگوریتم های کد گذاری پیچیده هستند.

saeid.yavary
شنبه 20 بهمن 1386, 16:52 عصر
سلام
این کد رو هم یک نگاهی بکن!
http://barnamenevis.org/forum/showthread.php?t=91520&highlight=%DA%A9%D8%AF+%D9%87%D8%A7%D9%81%D9%85%D9 %86