• ¡Welcome to Square Theme!
  • This news are in header template.
  • Please ignore this message.
مهمان عزیز خوش‌آمدید. ورود عضــویت


امتیاز موضوع:
  • 15 رای - 2.73 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Title: کد کردن یا پسورد گذاشتن رو دیتابیس
حالت موضوعی
#11
Smile 
Sub Process_Globals
    Dim mysqlc As SQLCipher
'اینجا یه متغیر برای ساخت یه دیتابیس کد شده تعریف می کنیم    Dim sql1 As SQL' اینجا هم یه متغیر دیتابیس معمولی که داریم رو تعریف می کنیم
End Sub

Sub Globals
Dim label1 , label2 As Label
Dim curs1 , curs2 As Cursor
Dim list1 As List
' اینجا یه لیست می سازیم که بتونیم اطلاعات رو جابجا کنیم از دیتابیس معمولی به کریپت شده
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("layout1")
    File.Copy (File.DirAssets , "sia.db", File.DirInternal , "sia.db")
sql1.Initialize (File.DirInternal  , "sia.db" , False) 
   'اینجا دیتابیس اصلی رو میریزم تو حافظه
If File.Exists (File.DirInternal  , "sia5.db")= False Then
mysqlc.Initialize (File.DirInternal  , "sia5.db", True , "1234test" , File.DirAssets)  
 'اینجا می گیم اگه دیتابیس کریپت شده قبلا ساخته نشده بسازه و پسورد بهش میدیم که باید دقت بشه پسورد فراموش نشه تا بتونیم در برنامه اصلیمون از دیتابیس با همین پسورد استفاده کنیم
و بعد از پسورد ازمون می خواد که آدرس فایل sqlcipher_native.zip رو بدیم که همینی که من دادم رو بده عزیز و حتما این فایل رو در برنامه کنار لایه ها ادد کن در قسمت فایل (خودت کپی پیست نکن و از قسمت فایل  و ادد استفاده کن
)mysqlc.ExecNonQuery("CREATE TABLE shim (Ename TEXT , Fname TEXT)")
'اینجا دیتابیس کریپت شده رو می گیم یه جدول بسازه با دو تا ستون  که از اینجاها مثل کد های sql هست و اینکتابخانه تو این کدها هیچ فرقی نداره باsql
Else

mysqlc.Initialize (File.DirInternal  , "sia5.db", True , "1234test" , File.DirAssets)
'اینجا هم گفتیم اگه ساخته شده فقط تعریف کنه با پسوردی که دادیم قبل بهش
End If

curs1=sql1.ExecQuery ("SELECT Ename, Fname FROM shim")  
 'اینجا هم اطلاعات دیتابیس انتقال می دیم به داخل این متغیر که تعریف شده در بالا        
For n=0 To curs1.RowCount -1  

 ' یه حلقه اینجا درست کردیم که اطلاعات دیتابیس معمولیمون رو بریزه تو دیتابیس کریپت شده و انتقال بده

curs1.Position = n
list1= Array As String (curs1.GetString ("Ename") , curs1.GetString ("Fname"))
mysqlc.ExecNonQuery2 ("INSERT INTO shim VALUES (?,?)" ,list1 )

Next
 ' کار تمومه و دیتابیس کریپت شده آماده هست و در اینجا برای تست که نشون می ده اطلاعات رو از داخل دیتابیس کریپت شده اونها رو رو لیبل هامون چک می کنیم
curs2= mysqlc.ExecQuery ("SELECT Ename,Fname From shim")
curs2.Position = 3
label1.Text = curs2.GetString ("Fname")
label2.Text = curs2.GetString ("Ename")

End Sub
 همونطور که دیدی همه چیز مثل sql هست و این کتابخانه فقط در inistalize یکم فرق داره تعریفش که باید پسورد و محل فایلsqlcipher_native.zip رو نشون بدی که حتما باید این فایل رو در پوشه فایل ادد کنید از داخل خود برنامه تا کار کنه امیدوارم توضیحات کامل باشهتوجه کنید که اینجا داریم یه دیتابیس معمولی رو تبدیل به دیتابیس کریپت شده میکنیم که دیتابیس کریپت شده داخل گوشی یا ایمولاتور هست و باید درش بیارید که با برنامه eclips می شه یا با رفتن به روت و پیدا کردن دیتابیس داخل برنامه ای که ساختیدبعد می تونید ازش استفاده کنید با همین کتابخانه sqlcipher و دادن رمزتون که قبلا براش تعیین کردید

برای مشاهده بهتر این کدها بهتره اول اونهارو کپی کنید داخل برنامه اونجا درست نشون می ده
 
پاسخ
#12
سلام جناب [b]sepidpor[/b]  ممنون که زحمت کشیدید و این آموزش را قرار دادید

اما چندتا مشکل هست این کار حجم برنامه را حدود 4 مگ زیاد می کنه.

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

   

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

ببینید من یک برنامه دیدم که اصلا نمی دانم چه طوری اطلاعات را کدکرده اثری از کتابخانه ی SQLCipher و فکر کنم حتی کتابخانه ی  SQL هم نیست.

نمی دانم شما ببینید سر در می آورید

برنامه:
http://www.mediafire.com/download/s1fol0...gnameh.zip

دیکامپایل:
http://www.mediafire.com/download/h8n5cv...gnameh.rar


 
در ضمن خواهشاً کدها را در تگ کد قرار دهید
 

 

 

 
 
پاسخ
#13
خوب عزیز می تونی پسورد رو مستقیم نذاری و تو اکتیویتی های قبلی بریزی تو یه فایل تکست با روش های مختلف مثلا مقدار تگ یه عکس رو برای روش و بری تو دیزاین مقدار تگ عکس رو بدی دیفالت چی باشه و بعد این که برنامه بسته خواست بشه بگی فایل تکست پاک شه از کارا بکنی تا می تونی هم نا مفهوم و پیچیده بزاری که طرف بیخیالش شه هرچند خیلی زور بزنه روش بازم در میاد اما همه حرفه ای نیستن و با خیلی روش می شه سخت کرد اینکارو برای کسایی که می خوان پسورد در بیارن
 
پاسخ
#14
(08-27-2013، 11:41 PM)'sepidpor' نوشته: خوب عزیز می تونی پسورد رو مستقیم نذاری و تو اکتیویتی های قبلی بریزی تو یه فایل تکست با روش های مختلف مثلا مقدار تگ یه عکس رو برای روش و بری تو دیزاین مقدار تگ عکس رو بدی دیفالت چی باشه و بعد این که برنامه بسته خواست بشه بگی فایل تکست پاک شه از کارا بکنی تا می تونی هم نا مفهوم و پیچیده بزاری که طرف بیخیالش شه هرچند خیلی زور بزنه روش بازم در میاد اما همه حرفه ای نیستن و با خیلی روش می شه سخت کرد اینکارو برای کسایی که می خوان پسورد در بیارن

 


بله عزیز دل حرف شما درست

حالا شما نظرتان درباره ی آن برنامه چیه؟ تازه ما برای این روش حدود 4 مگ باید به برنامه مان حجم اضافه کنیم که این کار برای کاربر خوشایند نیست.
 
 
پاسخ
#15
(08-27-2013، 11:52 PM)'mhr74' نوشته:
(08-27-2013، 11:41 PM)'sepidpor' نوشته: خوب عزیز می تونی پسورد رو مستقیم نذاری و تو اکتیویتی های قبلی بریزی تو یه فایل تکست با روش های مختلف مثلا مقدار تگ یه عکس رو برای روش و بری تو دیزاین مقدار تگ عکس رو بدی دیفالت چی باشه و بعد این که برنامه بسته خواست بشه بگی فایل تکست پاک شه از کارا بکنی تا می تونی هم نا مفهوم و پیچیده بزاری که طرف بیخیالش شه هرچند خیلی زور بزنه روش بازم در میاد اما همه حرفه ای نیستن و با خیلی روش می شه سخت کرد اینکارو برای کسایی که می خوان پسورد در بیارن


 


بله عزیز دل حرف شما درست

حالا شما نظرتان درباره ی آن برنامه چیه؟ تازه ما برای این روش حدود 4 مگ باید به برنامه مان حجم اضافه کنیم که این کار برای کاربر خوشایند نیست.
 

 

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

 
 
پاسخ
#16
سلام دوست عزیز 
لطفا اگه موفق شدید آموزشش رو واسه من هم بزارید 
ممنون میشم
 
پاسخ
#17
سلام به همه دوستان 
شرمنده تاپیک قدیمی رو بالا میکشم 
نیاز دارم به کد کردن بانک اطلاعاتی خودم که یک دیکشنری هست با یک بانک و 4 جدول 
من چه طور باید عمل کنم فقط همون جدولی که لازم دارم کد کنم ؟؟ یا باید کل بانک رو معرفی کنم و کد کنم 

و بعد اون بانکی که در مسال ساختید با 2 تا ستون رو باید با 4 ستون بسازم چون بانک خودم جداول 4 ستونی داره؟ یا نه
مرسی از همه
 
پاسخ
  


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  درست کردن بیشتر از یک Layout در برنامه Morteza_rk 6 13,160 12-09-2015، 08:18 AM
آخرین ارسال: Amin_Mansouri
  خطا در ایجاد Table در دیتابیس Morteza_rk 4 5,531 12-31-2014، 08:53 AM
آخرین ارسال: seyedsharifi
  گرفتن اطلاعات دیتابیس از تکست باکس Morteza_rk 2 4,345 12-14-2014، 05:10 PM
آخرین ارسال: Morteza_rk
  پنهان کردن سورس برنامه porya 1 4,725 11-23-2014، 09:02 AM
آخرین ارسال: Amin_Mansouri
  بهینه کردن متن WebView Thewolf 2 4,273 09-24-2014، 08:50 PM
آخرین ارسال: Thewolf
  جستجو در دیتابیس sqlite mahdi72 1 4,446 03-11-2014، 08:52 PM
آخرین ارسال: arjian
  راهنمایی ایجاد دیتابیس با sqlite overkit 1 6,145 11-26-2013، 03:05 PM
آخرین ارسال: hamid1148
  مشکل در کار با دیتابیس mhr74 1 4,776 09-09-2013، 02:11 AM
آخرین ارسال: m.gooooolzar
  فارسی کردن ListView? antegRal 2 4,909 08-01-2013، 11:43 AM
آخرین ارسال: antegRal
  سورس کد کار کردن با دیتابیس Amin_Mansouri 2 7,602 07-28-2013، 06:51 PM
آخرین ارسال: Kei armin

پرش به انجمن:


Browsing: 4 مهمان