PDA

View Full Version : استفاده از Base64 در برنامه های اندروید



RahmanAmiriSh
دوشنبه 20 دی 1395, 18:18 عصر
دوستان سلام ،

در نسخه های قدیمی دلفی با اضافه کردن encddcd به قسمت Uses می تونستیم یه متن رو رمز کنیم ، جالا در نسخه EX7 روش فرق می کنه ، اگه کسی اطلاعاتی در این زمینه دارید لطفا کمک کنید

Mask
دوشنبه 20 دی 1395, 19:43 عصر
میخواهید متنتون رو بیس کنید؟

golbafan
دوشنبه 20 دی 1395, 23:27 عصر
سلام
تابع اصلی:


const
Cod='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghi jklmnopqrstuvwxyz+/';

function Encode(S:string):string;
var
i,a,b,x: Integer;
begin
a:=0;
b:=0;
for i:=1 to length(s) do
begin
x:=Ord(s[i]);
b:= b*256+x;
inc(a,8);
while a>=6 do
begin
dec(a,6);
x:=b div (1 shl a);
b:=b mod (1 shl a);
Result:=Result+Cod[x+1];
end;
end;
if a>0 then
begin
x:=b shl (6-a);
Result:=Result+Cod[x+1];
end;
end;

function Decode(S:string):string;
var
i,a,b,x: Integer;
begin
a:=0;
b:=0;
for i:=1 to length(s) do
begin
x:=pos(s[i], cod)-1;
if x>=0 then
begin
b:=b*64+x;
inc(a,6);
if a>=8 then
begin
dec(a,8);
x:=b shr a;
b:=b mod (1 shl a);
x:=x mod 256;
Result:=Result+chr(x);
end;
end
else
Exit;
end;
end;

Mask
سه شنبه 21 دی 1395, 01:59 صبح
مهندس چخبره ، این همه کد:

uses
Windows,IdGlobal,
IdCoderMIME;


Function CodeStr(aStr: string): string;
begin
Result := TIdEncoderMIME.EncodeString(aStr, IndyTextEncoding_UTF8);
end;


Function DecodeStr(aStr: string): string;
begin
Result := TIdDecoderMIME.DecodeString(aStr, IndyTextEncoding_UTF8);
end;

RahmanAmiriSh
سه شنبه 21 دی 1395, 19:34 عصر
ممنون دوستان گلم ، آيا اين براي برنامه هاي موبايل جواب ميده؟ من براي كامپيوترنميخاما

Mask
سه شنبه 21 دی 1395, 22:50 عصر
برنامه موبایل با چی نوشته میشه؟

ابوالفضل عباسی
پنج شنبه 07 بهمن 1395, 11:00 صبح
سلام به همگی
بعد از مدت ها برگشتم،تازه امتحانات دانشگاه تموم شده بود.

برای همچین کاری از تابع زیر استفاده کن،توی اندروید و ios جواب میده،خودم دارم ازش استفاده میکنم.


function CodingBase64 (SText: String;BEnCoding:boolean):string;begin
if BEnCoding = true then
Result:=TNetEncoding.Base64.Encode(SText)
else
Result:=TNetEncoding.Base64.Decode(SText);
end;

اگر میخواهی نوشته رو تبدیل به کد کنی ،BEnCoding رو True کن و اگر میخوای کد رو به نوشته تبدیل کنی، BENCoding رو False کن.
درضمن تابع
System.NetEncoding رو به برنامه ات uses کن.