PDA

View Full Version : سوال: TripleDes و به روزرسانی SQL Table



sorooshk
جمعه 24 دی 1389, 20:23 عصر
سلام دوستان
یک سوال نسبتا جالب ( حداقل برای خودم ) دارم.

ببینید من قبلا یک دیتابیس ساختم که یک جدول داره و این جدول هم حداقل حدود 20 فیلد داره.
این جدول الان پس از چند ماه کار تعداد رکورد های اون رسیده به بیش از 6000 عدد.

قبلا نیاز به امنیت خاصی نبود که روی جدول اعمال بشه. ولی از الان حتما حتما باید مقادیر داخل جدول با الگوریتم Triple Des آپدیت بشوند و از این به بعد هم که کسی Insert میکنه با Triple Des رمز بشه و بعد Insert انجام بشه. برای Insert که از این به بعد انجام میشه مشکلی ندارم. ولی مشکل من با اطلاعات قبلی جدول هست. یعنی می خواهم یک برنامه ی جداگانه ای بنویسم که بیاد تمامی اطلاعات موجود در جدول را بگیره هر کدام از رکورد ها را با الگوریتمی که قبلا توسط Triple Des نوشتم رمز کنه و اونها را تو جدول UPDATE بکنه.

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

ضمنا ااگوریتم من یک رشته را به MD5 و Base64 و در نهایت TripleDes رمز میکنه و از لحاظ امنیت و روش کار مشکلی ندارم. فقط اینجای کار که توضیح دادم موندم.
خیلی خیلی خیلی ممنون میشم اگر کسی کمکم کنه دیگه مغزم هنگ کرده والا چون عجله ای هم هست دیگه روشی به ذهنم نمیرسه.

MortezaGity
جمعه 24 دی 1389, 22:46 عصر
دوست عزیز
یه راه سادش اینه که دوتا شی Command بسازی. یکی رو با دستور update و یکی رو با دستور select مربوط به sql پر کنی. هر دو رو به یک شی connection ربط بده. اونی رو که با دستور Select پر کردی رو با یک datereader ربط بده و datareader رو پر کن. بعد با یه حلقه for تک تک رکوردهای datareader رو بگیر و با primary key جدولت دوباره تو همون رکورد بنویس. نمی دونم متوجه منظورم شدی یا نه. اگه وقت کردم حتما کد کاملشو می ذارم.

sorooshk
جمعه 24 دی 1389, 22:51 عصر
سلام
خیلی ممنون من هم حدودا به یک همچین نتیجه ای رسیدم ولی باورت نمیشه مغزم هنگ کرده 2 روزه گیره این موضوع هستم. ضمنا اگر میشه لطف بفرمایید کد را برایم بنویسید.
من DataReader را پر می کنم ولی با DataReader که نمیشه Update کرد.
کلا هنگ کردم . ای خداااااااااااااااا

MortezaGity
جمعه 24 دی 1389, 22:54 عصر
میگم که باید با command کار update رو انجام بدی. شی command رو ربط بده به همون connection ی که داری ازش رکوردها رو می خونی و می ریزی داخل datareader.

sorooshk
جمعه 24 دی 1389, 23:08 عصر
شرمنده ولی این کار را که گفتی چه جوری انجام بدم::::::::

بعد با یه حلقه for تک تک رکوردهای datareader رو بگیر و با primary key جدولت دوباره تو همون رکورد بنویس.

منظورم نوشتن رکورد تو خود رکورد قبلی جدول؟؟؟