Parsi Coders
کد کردن یا پسورد گذاشتن رو دیتابیس - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Mobile (http://parsicoders.com/forumdisplay.php?fid=56)
+--- انجمن: Basic4Android (http://parsicoders.com/forumdisplay.php?fid=112)
+--- موضوع: کد کردن یا پسورد گذاشتن رو دیتابیس (/showthread.php?tid=3334)

صفحات 1 2


RE: کد کردن یا پسورد گذاشتن رو دیتابیس - sepidpor - 08-26-2013

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 و دادن رمزتون که قبلا براش تعیین کردید

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


RE: کد کردن یا پسورد گذاشتن رو دیتابیس - mhr74 - 08-27-2013

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

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

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

   

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

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

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

برنامه:
http://www.mediafire.com/download/s1fol0ub3fjyq12/soognameh.zip

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


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

 

 

 


RE: کد کردن یا پسورد گذاشتن رو دیتابیس - sepidpor - 08-27-2013

خوب عزیز می تونی پسورد رو مستقیم نذاری و تو اکتیویتی های قبلی بریزی تو یه فایل تکست با روش های مختلف مثلا مقدار تگ یه عکس رو برای روش و بری تو دیزاین مقدار تگ عکس رو بدی دیفالت چی باشه و بعد این که برنامه بسته خواست بشه بگی فایل تکست پاک شه از کارا بکنی تا می تونی هم نا مفهوم و پیچیده بزاری که طرف بیخیالش شه هرچند خیلی زور بزنه روش بازم در میاد اما همه حرفه ای نیستن و با خیلی روش می شه سخت کرد اینکارو برای کسایی که می خوان پسورد در بیارن


RE: کد کردن یا پسورد گذاشتن رو دیتابیس - mhr74 - 08-27-2013

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

 


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

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


RE: کد کردن یا پسورد گذاشتن رو دیتابیس - sepidpor - 08-28-2013

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


 


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

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

 

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

 


RE: کد کردن یا پسورد گذاشتن رو دیتابیس - usef.chemist4 - 02-07-2014

سلام دوست عزیز 
لطفا اگه موفق شدید آموزشش رو واسه من هم بزارید 
ممنون میشم


RE: کد کردن یا پسورد گذاشتن رو دیتابیس - arastooms - 11-11-2015

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

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