PDA

View Full Version : سوال: رمز نگاری برای پسورد



mahrokh_1121
دوشنبه 12 مهر 1389, 16:02 عصر
با سلام
من میخوام با تابع random یه عدد تصادفی ایجاد کنم،که البته ورودی تابع رو خودم دستی وارد کنم، این تابع برای چک پسورد هست باید به ازائ ورودی abcd مقدار (از چپ به راست) مقدار متغیر ها
j=55 58 33 23
s=2 5 g w
result= v v #5 6


این تابع با دلفی نوشته شده ، کسی میتونه اینو تبدیل به C#‎ کنه






function GetPasswd(InitVal : string) : string;
var
i, j : integer;
S : string;
begin
RandSeed := 87456;
S := '';
for i := 1 to length(InitVal) do begin
j := random(26*2+10) + 1;
case j of
1..26 : S := S + char(ord('A') + (j - 1));
27..52 : S := S + char(ord('a') + (j - 27));
53..62 : S := S + char(ord('0') + (j - 53));
end;
end;
Result := '';
for i := 1 to length(InitVal) do
Result := Result + char(ord(InitVal[i]) xor ord(S[i]));
end;

صباح فتحی
دوشنبه 12 مهر 1389, 19:09 عصر
من مقداری پاسکال کارکردم ببین کمکت میکنه یانه:

string Getpasswd(string InitVal)
{
Random rnd=new Random();
int i, j;
string S;
RandSeed = 87456;
S = "";
for ( i = 1; i <= InitVal.Length; i++)
{
j = rnd.Next(1, 26 * 2 + 10) + 1;
switch (j)
{
case 1..26:
S=S+Convert.ToChar(Convert.ToInt32('A')+(j-1));
case 27..52:
S=S+Convert.ToChar(Convert.ToInt32('a')+(j-27));
case 53..62:
S=S+Convert.ToChar(Convert.ToInt32('0')+(j-53));

}
}
Result="";
for (int i = 1; i <InitVal.Length; i++)
{
Result=Result+Convert.ToChar(Convert.ToInt32(InitV al[i] ^ Convert.ToInt32(S[i]) );
}
}