اې حبر
زه غواړم تاسو ته یوه کوچنۍ پروژه وړاندې کړم
ما د فایل سیسټم کې د معلوماتو پټ ذخیره کولو پروژه جوړه کړه (نور ФС).
دا د تعلیمي موخو لپاره د محرم معلوماتو غلا کولو لپاره کارول کیدی شي.
یو ډیر زوړ لینکس FS د پروټوټایپ په توګه غوره شوی و
پلي کول
د تطبیق په اړه نظرونه
که دا ښه وي چې د ext2 معیاري "افشا" کړئ ، نو تاسو کولی شئ دا په FS کې ځای په ځای کړئ چې په نوم یادیږي
که تاسو پټ معلومات پرته له کوډ کولو ذخیره کړئ، بیا هم، حتی په FS کې د هغې د تیاره کیدو سره سره، دا به لاهم خورا څرګند وي، په ځانګړې توګه که چیرې پروګرامر پوهیږي چې څه باید وګوري. له همدې امله، پریکړه وشوه چې د سرچینې فایل ټول بلاکونه کوډ کړئ. ما بلاک سیفر غوره کړ
د لوستلو پر مهال د نورو ټولو څخه اړین بلاکونو جلا کولو لپاره، پریکړه وشوه چې د بلاک په پیل کې هر بلاک ته یو ځانګړی مارکر اضافه کړي. دا نښه د سرچینې فایل کې د بلاک نمبر پورې اړه لري کوډ شوی. دا چال سمدلاسه دا ممکنه کړه چې نه یوازې د اړینو بلاکونو موندلو لپاره، بلکې د دوی سم ترتیب پیژني.
د سیسټم عمومي عملیاتي اصول.
د ثبت کولو الګوریتم
ټکي:
- لومړی د سرچینې فایل سیسټم ته ځینې معلومات ولیکئ؛
- دا معلومات ړنګ کړئ (ضروري نه ده چې ټول)؛
- د پټولو لپاره فایل په مساوي اوږدوالي بلاکونو ویشل شوی، مارکر اضافه کوي؛
- دا بلاکونه کوډ کړئ؛
- کوډ شوي بلاکونه په خالي FS بلاکونو کې ځای په ځای کړئ.
د بلاک ډیاګرام مینه والو لپاره
لاندې د ثبت کولو الګوریتم بلاک ډیاګرام دی. الګوریتم څلور فایلونه د ننوتلو په توګه ترلاسه کوي:
- د بدلون وړ فایل سیسټم انځور؛
- د سټیګنګرافي موضوع فایل؛
- د AES لپاره د کوډ کولو کیلي سره فایل؛
- د مارکر سره فایل.
دا سمدلاسه د یادونې وړ ده چې دا الګوریتم یو نیمګړتیا لري: FS ته د فایل لیکلو وروسته ، نشي کولی په FS کې هر څه نوي ولیکئ، ځکه چې کوم نوي معلومات کولی شي په هغه بلاکونو کې پای ته ورسیږي چې موږ یې زموږ زپ شوي فایل ته ځانګړي کړي دي، که څه هم دا امکان هم خلاصوي چې "زموږ ټریکونه په چټکۍ سره پوښلي."
مګر دا خورا روښانه ده چې دا څنګه تنظیم کیدی شي: دا اړینه ده چې په FS کې د بلاکونو لیکلو لپاره الګوریتم بیا ولیکئ. دا یو د پوهیدو وړ، مګر په حیرانتیا سره د وخت ضایع کولو کار دی.
د مفهوم د ثبوت لپاره ما دا پلي نه کړه.
پایله به په FS کې لاندې بدلونونه وي، دا هغه څه دي چې FS د سټیګنګرافي څخه مخکې ښکاري (د آډیو فایل دمخه ثبت شوی و).
او دا هغه څه دي چې FS دمخه د زپ شوي معلوماتو سره ښکاري.
د لوستلو الګوریتم
ټکي:
- د کلیدي پوهې او د مارکرونو د جوړولو طریقې سره، لومړی N مارکرونه ترتیب کړئ، د دې تضمین سره چې N ضرب د فایل سیسټم بلاک اوږدوالی د زپ شوي فایل اوږدوالی څخه ډیر دی؛
- په FS کې د مارکرونو سره د بلاکونو لټون کول؛
- ترلاسه شوي بلاکونه تشریح کړئ او مارکرونه جلا کړئ؛
- نتیجه شوي بلاکونه په سم ترتیب کې راټول کړئ او د سرچینې فایل ترلاسه کړئ.
د بلاک ډیاګرام مینه والو لپاره
لاندې د ثبت کولو الګوریتم بلاک ډیاګرام دی. الګوریتم درې فایلونه د ننوتلو په توګه ترلاسه کوي:
- د فایل سیسټم عکس؛
- د AES لپاره د کوډ کولو کیلي سره فایل؛
- د مارکر سره فایل.
د برنامه چلولو وروسته ، د لوستلو فایل څرګندیږي ، کوم چې به د سټیګنوګراف شوي فایل سیسټم څخه ایستل شوی فایل وي؛ که کیلي یا مارکر په غلط ډول مشخص شوی وي ، نو د لوستلو فایل به خالي وي.
(د ښکلا مینه والو لپاره، تاسو کولی شئ نه یوازې فایل داخل کړئ، مګر یو "سرلیک" چې د میټا معلومات لري: د فایل نوم، حقونه، وروستی بدل شوی وخت، او نور.)
د پیل اتوماتیک
د اسانتیا لپاره ، د باش سکریپټونه په لینکس کې د لانچ اتومات کولو لپاره لیکل شوي وو (په اوبنټو 16.04.3 LTS کې ازمول شوی).
راځئ چې ګام په ګام لانچ ته وګورو.
ثبت:
- sudo Copy_Flash.sh "DEVICE" - د FS عکس له DEVICE (flash) څخه ترلاسه کړئ؛
- ./Write.sh “فایل” “کیلي” “مارکر” – یو مجازی چاپیریال رامینځته کړئ ، اړین کتابتونونه ډاونلوډ کړئ او د لیکلو سکریپټ چل کړئ؛
- sudo ./Write_Flash.sh "DEVICE" - بدل شوی FS بیا DEVICE ته ولیکئ.
لوستل:
- sudo Copy_Flash.sh "DEVICE" - د FS عکس له DEVICE (flash) څخه ترلاسه کړئ؛
- ./Read.sh "KY" 'مارکر' - یو مجازی چاپیریال رامینځته کړئ، اړین کتابتونونه ډاونلوډ کړئ او د لوستلو لپاره سکیپ چل کړئ؛
- په اوسني لارښود کې، د لوستلو فایل خلاص کړئ - دا د زپ شوي معلومات دي.
پایلې
د سټیګنګرافي دا طریقه شاید د نورو مشهور فایل سیسټمونو ته وده ورکولو، اضافي ازموینې او غزولو ته اړتیا ولري، لکه
مګر د دې کار موخه دا وه چې هغه اصول وښيي چې له مخې یې د فایل سیسټم کې د معلوماتو پټ ذخیره کول ممکن دي.
د دې ډول الګوریتمونو په مرسته ، تاسو کولی شئ په ویره سره معلومات ذخیره کړئ ، او که چیرې تاسو کیلي پیژنئ ، نو دا ممکنه ده چې دا ډول سیسټم هیک کړئ نه د وحشي ځواک (بلکې د خورا اوږد الګوریتم په واسطه) ، نو بیا پرته له دې چې د کیلي پوهه شي. سیسټم زما په اند په بشپړ ډول باثباته ښکاري، په هرصورت، دا ممکن د جلا مقالې لپاره د دلیل په توګه خدمت وکړي.
ټول کوډ د Python نسخه 3.5.2 کې پلي کیږي.
(هو، هو، زه پوهیږم چې د تولید نسخه لپاره تاسو اړتیا لرئ په یو څه "چټک" کې ولیکئ، د مثال په توګه C 😉)
په دې تطبیق کې، د سټیګنګرافي لپاره د ان پټ فایل اندازه باید د 1000 kB څخه زیاته نه وي.
زه غواړم د کارونکي څخه خپله مننه څرګند کړم
سرچینه: www.habr.com