View Full Version : رمزنگاری به وسیله دستورات دلفی
farzane_fn
چهارشنبه 08 مهر 1388, 16:37 عصر
دوستای عزیزم سلام.من به وسیله آلگوریتم md5 موفق نشدم عمل رمزنگاری رو انجام بدم. می خواستم به وسیله دستورات دلفی مثل ()ord و ()char این کار رو بنکنم.اگه امکانش هست راهنمایی بفرمائین. چطوری این کار رو بکنم؟فقط همینقدر می دونم که کداسکی حروف رو باید به اضافه یه عددی بکنم و در نهایت هم این عدد رو کم بکنم و کداسکی رو به حرف تبدیل بکنم. اگه امکانش هست راهنماییم کنین. ممنون
MohsenTi
چهارشنبه 08 مهر 1388, 19:30 عصر
برای این کار از ابتدا باید یک کاراکتر رو به کد اسکی تبدیل کنی با یه عدد جمعش(تفریق و ...) کنی سپس دوباره به کاراکتر تبدیلش کنی مثل این مثال
var
Ch1:Char;
Ch2:Char;
begin
Ch1:='M';
Ch2:=Chr(Ord(Ch1)+2);
End;
Ch1 اولین کراکتر و Ch2 کاراکتر کد شدس .
ولی حواست باشه تابع Chr از نوع بایتی است و احتمال سرریز داره (البته دلفی نمیدونم سرریز رو چطور پشتیبانی می کنه ولی تو داس که سرریز می شود)
موفق باشید
farzane_fn
چهارشنبه 08 مهر 1388, 22:07 عصر
دوستان عزیزم.همون چیزی که دوست عزیزمون برامون اشاره داشتن برای من اتفاق میفته یعنی سر ریز. من از دستور
ch:=copy(edit1.text,1,1) برای جدا کردن اولین کاراکتر و سپس به رمز تبدیل کردن اون استفاده می کنم ولی خطای سرریز رخ می ده.کسی از دوستان می تونه کمکم کنه؟؟ در ضمن ch متغیری از نوع char هست.
shervin farzin
چهارشنبه 08 مهر 1388, 22:25 عصر
سلام
از اين كد استفاده كنيد:
ch := edit1.text[1];
موفق باشيد.
vcldeveloper
پنج شنبه 09 مهر 1388, 00:20 صبح
من به وسیله آلگوریتم md5 موفق نشدم عمل رمزنگاری رو انجام بدم.
الگوریتم MD5 برای رمزنگاری نیست.
MohsenTi
پنج شنبه 09 مهر 1388, 07:57 صبح
farzane_fn خانم شما باید توجه کنید که الگوریتمی که براتون داده هارو به کد تبدیل می کنه عددی بزرگتر از 255 نده.
می تونید اصلا اعداد رو دوباره به کاراکتر تبدیل نکنید و مستقیما اعداد رو ذخیره کنی و ...
اگه هدفت از این کار رو بگی الگوریتمهایی برای رمز گذاری وجود داره که میشه ازش استفاده کرد
farzane_fn
یک شنبه 12 مهر 1388, 11:47 صبح
سلام
از اين كد استفاده كنيد:
ch := edit1.text[1];
موفق باشيد.
دوست بسیار عزیزم سلام.امیدوارم حالتون خوب باشه.از راهنماییتون خیلی استفاده کردم. ازتون تشکر می کنم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.