رفتن به مطلب

رمزنگاری انواع داده ها با امنیت بسیار بالا!!! با (M_Secure_Data)


ارسال‌های توصیه شده

:give_rose: پست ویرایش شد و تداخل با کتابخانه M_Secure_SharedPrefrence  برطرف شد با عرض پوزش  :give_rose: 

دوستان گلم سلام مجدد :malih:  :give_rose:

کتابخونه M_Secure_SharedPrefrence که معرف حضورتون هست همونطور که میدونید اطلاعات این کتابخونه تو فایل xml ذخیره میشه اما برای کسایی که میخوان اطلاعات رمز شده رو توی دیتابیس یا هر جا که میخوان ذخیره کنن یه محدودیت هست بنابر این تصمیم گرفته شد تا این محدودیت نیز برداشته بشه (البته برای داه های کم همین کتابخونه بهترینه)

تمامی الگوریتمها ی رمزنگاری در این کتابخانه هم موجوده و دقیقا شبیه به هم هستند فقط دیگه فایل جایی ذخیره نمیشه فقط متن incript شده برگردونده میشه

نحوه استفاده به شکل زیر هست

دوباره تعریف و اینشیالایز حتما با پسورد ترکیبی و پیچیده

 Dim sh As M_Secure_Data
sh.initialize("yourpass")

اما نحوه رمز نگار مثلا فرض کنیم میخوایم متن answercenter رو توی یه فایل استرینگ ذخیره کنیم(هرجایی که دلتون میخواد مثلا دیتابیس و .... )

File.WriteString(File.DirDefaultExternal,"aa.txt",sh.ConvertStringToSecurString("answercenter")) 

حالا نحوه خوندن (دقت کنید فقط متن اینکریپت شده بدید که خطا نگیره)

ToastMessageShow(sh.getsecurString(File.ReadString(File.DirDefaultExternal,"aa.txt")),False) 

امید وارم از این کتابخونه هم استفاده کافی رو ببرید :53:

پسند فراموش نشه ♥

هر مشکلی یا باگی بود خواهش میکنم همینجا ذکر کنید تا برطرف شه :give_rose: 

 

 

 M_Secure_Data.zip

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

خیلی عالی :) هنوز یک ساعت نشد کتابخانه آماده شد. :dance2:

نمی تونم جلوی خودم رو بگیرم و حتما باید سوال کنم تا مطمئن بشم :D

سرعت این کتابخانه چطوریه و همون شرایطی رو داره که در تاپیک قبلی ذکر کردید؟ (یک پسورد ترکیبی با حداکثر 10 کاراکتر مشکلی ایجاد نمی کنه.)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تنها زمانی ممکنه سرعت پایین بیاد که مثلا بخوای 1000 تا رکورد اینکریپت شده رو از دیتابیس بخونی

ولی اگه استفاده معمولی بکنی مثلا بیای یک یا حداکثر 100 تا رکورد اینکریپت شده رو بخونی بعید میدونم سرعت تغییری کنه

امتحان کن کاظم جان  :give_rose:  :give_rose:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تنها زمانی ممکنه سرعت پایین بیاد که مثلا بخوای 1000 تا رکورد اینکریپت شده رو از دیتابیس بخونی

ولی اگه استفاده معمولی بکنی مثلا بیای یک یا حداکثر 100 تا رکورد اینکریپت شده رو بخونی بعید میدونم سرعت تغییری کنه

امتحان کن کاظم جان  :give_rose:  :give_rose:

خیلی ممنون؛

البته برای دوستانی که قراره تعداد زیادی رکورد رو اینکریپت کنند یه راه حل پیدا کردم. اگر عملیات خواندن و دیکرایپت یا انکرایپت رو با کتابخانه AriaAsynkTask انجام بدیم سرعت خیلی خیلی بالاتر می شه.

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

منو این همه خوشبختی محاللللللللللللللللللله :yahoo:

میخواستم پیشنهاد بدم یه کتابخونه این شکلی درست کنید که خودتون بدون گفتن من درستش کردید :give_rose:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام مجدد؛ باز دوباره مزاحم شما شدم :)

نمی دونم مشکل از کتابخانه هست یا نه اما من می خوام یک متغیر Encrypt شده از دیتابیس رو بگیرم که مقدارش 0 یا 1 هست. اما با هیچ روشی درست نمی شه و وقتی که کامپایل می کنم این ارور میاد:

src\ir\forghani\guess\levels.java:607: error: method getsecurInt in class Prefclass cannot be applied to given types;
_isplay = BA.NumberToString(mostCurrent._msd.getsecurInt(mostCurrent._cur.GetString("IsPlay")));
                                            ^
  required: String,int
  found: String
  reason: actual and formal argument lists differ in length

و این هم کدی که با اون دارم متغیر انکریپت شده رو می خونم:

Dim IsPlay As String = MSD.getsecurInt(cur.GetString("IsPlay"))

خیلی ممنون :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

قربونت برم فرقانی جان تو چرا؟؟؟ :fekr:  :shout:

تو توضیحات که عرض کردم حتما مقدار اینکریپت شده بش بده

مثال رو با دقت هرچه تمامتر بخون :give_rose:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

قربونت برم فرقانی جان تو چرا؟؟؟ :fekr:  :shout:

تو توضیحات که عرض کردم حتما مقدار اینکریپت شده بش بده

مثال رو با دقت هرچه تمامتر بخون :give_rose:

سلام

بله اون رو مطالعه کرده بودم.

من هم اول مقدار رو انکریپت کردم و بعد به کلیپبورد فرستادم و خودم توی دیتابیس ریختم! (یه برنامه جدا نوشتم که با همین رمز مقدار انکریپت شده رو به کلیپبورد بده که من بتونم توی دیتابیس بریزم دستی!)

ولی فکر نمی کنم این ارور مربوط به این موضوع باشه. چون هنوز برنامه تولید نشده و نصب نشده روی املاتور، ارور می ده.

کدهام که درسته...

مشکل از چی می تونه باشه؟!

خیلی ممنون :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینجا رو ببین

Dim IsPlay As String = MSD.getsecurInt(cur.GetString("IsPlay"))

IsPlay از نوع استرینگه ولی اومدی با MSD.getsecurInt مقدار گرفتی حواست به نوع داده ها باشه عزیز

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینجا رو ببین

Dim IsPlay As String = MSD.getsecurInt(cur.GetString("IsPlay"))

IsPlay از نوع استرینگه ولی اومدی با MSD.getsecurInt مقدار گرفتی حواست به نوع داده ها باشه عزیز

سلام مجدد

من کدم رو به این صورت تغییر دادم:

Dim IsPlay As Int = MSD.getsecurInt(cur.GetString("IsPlay"))

اما بازم همون خطا رو می گیره!

نمی دونم مشکل از چی می تونه باشه. لطفا راهنمایی کنید. :)

خیلی ممنون :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

MSECURE.zip

این سورس رو واست نوشتم که یه متغیر اینتجر رو تو دیتابیس مینویسه به صورت اینکریپت و اونو میخونه  مشکلی نداره و راحت میخونه

امتحان کن ببین ارور میده

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

attachicon.gifMSECURE.zip

این سورس رو واست نوشتم که یه متغیر اینتجر رو تو دیتابیس مینویسه به صورت اینکریپت و اونو میخونه  مشکلی نداره و راحت میخونه

امتحان کن ببین ارور میده

خیر مشکلی نداره!

اما این کد شما:

MSD.getsecurInt(cur.GetString("decryptint"))

این کد بنده:

MSD.getsecurInt(cur.GetString("IsPlay"))

چه تفاوتی داره؟!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

:fekr:

نیت کردی؟ :oops:

چی بگم کاظم جان سورس ها رو باهم مقایسه کن ببین کجا رو اشتبا رفتی

src\ir\forghani\guess\levels.java:607: error: method getsecurInt in class Prefclass cannot be applied to given types;
_isplay = BA.NumberToString(mostCurrent._msd.getsecurInt(mostCurrent._cur.GetString("IsPlay")));
                                            ^
  required: String,int
  found: String
  reason: actual and formal argument lists differ in length

از متن ارور هم مشخصه که نوع متغیرها مچ نیستن 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

:fekr:

نیت کردی؟ :oops:

چی بگم کاظم جان سورس ها رو باهم مقایسه کن ببین کجا رو اشتبا رفتی

src\ir\forghani\guess\levels.java:607: error: method getsecurInt in class Prefclass cannot be applied to given types;
_isplay = BA.NumberToString(mostCurrent._msd.getsecurInt(mostCurrent._cur.GetString("IsPlay")));
                                            ^
  required: String,int
  found: String
  reason: actual and formal argument lists differ in length

از متن ارور هم مشخصه که نوع متغیرها مچ نیستن 

:fekr:

یه مورد خیلی جالب: من الان کد INSERT شما رو داخل پروژم کپی کردم و هیچ تغیری ندادم. تصادفی اومدم کامپایل کنم به این خط ارور گرفت:

src\ir\forghani\guess\main.java:397: error: cannot find symbol
_sql1.ExecNonQuery("INSERT INTO mytbl (decryptint) VALUES('"+mostCurrent._msd.ConvertIntToSecurInt((int) (1))+"')");
                                                                             ^
  symbol:   method ConvertIntToSecurInt(int)
  location: variable _msd of type Prefclass

با این که توی سورس شما هیچ مشکلی نداره و به خوبی اجرا می شه.

؟؟؟

خیلی ممنون :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مشکل رو پیدا کــردم!!!

من دارم در پروژم از کتابخانه m_Secure_Shared_Prefrence هم استفاده می کنم. اگر تیک این کتابخانه رو بردارم خطاها رفع می شه و هیچ مشکلی نداره! نتیجه می گیریم که این دو کتابخانه در کنار هم مشکل به وجود میارن.

توی سورسی هم که قرار دادید کتابخانه فوق ^ رو تیک زدم و هیچ استفاده ای ازش نکردم، (یعنی نه متغیری تعریف کردم نه...) ارور زیر رو داد!

B4A version: 6.00
Parsing code.    (0.00s)
Compiling code.    (0.08s)
Compiling layouts code.    (0.01s)
Organizing libraries.    (0.01s)
Generating R file.    (0.07s)
Compiling generated Java code.    (1.55s)
Convert byte code - optimized dex.    Error
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/securepreferences/AesCbcWithIntegrity$CipherTextIvMac;
	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
	at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
	at com.android.dx.command.dexer.Main.processClass(Main.java:615)
	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:570)
	at com.android.dx.command.dexer.Main.access$2(Main.java:546)
	at com.android.dx.command.dexer.Main$2.processFileBytes(Main.java:514)
	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
	at com.android.dx.command.dexer.Main.processOne(Main.java:537)
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:449)
	at com.android.dx.command.dexer.Main.runMonoDex(Main.java:236)
	at com.android.dx.command.dexer.Main.run(Main.java:206)
	at com.android.dx.command.dexer.Main.main(Main.java:179)
	at com.android.dx.command.Main.main(Main.java:103)
1 error; aborting

آقای شاهپیری لطفا، لطفا، لطفا این مشکل رو پیگیری و رفع کنید شدیدا نیاز دارم به کتابخانه.

موفق باشید :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آآآخخخخخ (تقصیر خودته عجله کردی  :cheshmak:  :malih:  نمیزاری حواسم به کارم باشه :oops:  :give_rose: ) آره چون کتابخونه ها عین همه کلاسهاشون شبیه همه وقتی دوتاشون تیک زده میشن در واقع کلاسهای تکراری به وجود میاد

الان دارم میرم سر کار فرقانی جان  :gerye:  شب انشالا کتابخونه رو بازنویسی میکنم با پکیجو کلاسهای جدید این مشکل هم رفع میشه

باز هم معذرت میخوام و تشکر ویژه از تو و همه که کمک کردن تا اشکالات این کتابخونه ها برطرف شه :53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان عزیز مشکل تداخل حل شد :53:   ♥  انشالا که دیگه مشکلی نداشته باشه و با خیال راحت استفاده بفرمایید (ممنون از همه :give_rose: )

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آقا محمدرضا یه مشکل عجیب :gerye:

یه متنی رو که قبلا کدش کرده بودم اول برنامم میام تبدیلش میکنم به string

توی شبیه ساز bluestack کار میکنه ولی روی گوشیم مقدار null رو برمیگردونه :(((((

LG G4 - android 6

لینک ارسال
به اشتراک گذاری در سایت های دیگر

قبلا کدش کردی؟ :fekr:

عزیز متنهای اینکریپت شده فقط و فقط توسط همون دستگاهی که اینکریپت شده و همون پسوردی که باهاش متن رو اینکریپت کردی قابل استفاده است در غیر این صورت مقدار برگشتی null هست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

قبلا کدش کردی؟ :fekr:

عزیز متنهای اینکریپت شده فقط و فقط توسط همون دستگاهی که اینکریپت شده و همون پسوردی که باهاش متن رو اینکریپت کردی قابل استفاده است در غیر این صورت مقدار برگشتی null هست

آره الان خودمم تست کردم همینجوریه

نمیشه ینی کاریش کرد روی همه دستگاه ها ج بده ؟ یا متدی چیزی بهش اضافه کرد بعضی داده ها رو روی همه دستگاه ها جواب بده؟

ینی یه سری داده هایی که مهمتره فقط روی بعضی گوشی ها ج بده. یه سری داده هایی دیگه روی همه گوشی ها جواب بده دست خودمون باشه :fekr:

میخوام ادرس سرورم رو توی برنامم کد کنم کسی پیدا نکنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...