একটি ভিএম এনক্রিপ্ট করা ফাইল মুদ্রণ (ডিক্রিপ্ট) করুন


9

আমি -xফাইলটি এনক্রিপ্ট করতে ভিআইএম বিকল্পটি ব্যবহার করি । আমি এই ফাইলগুলিকে লেখার চেয়ে অনেক বেশিবার পড়েছি, তাই আমি সর্বদা বিড়াল ব্যবহার করি এবং তারপরে মনে হয় এটি যা দেখায় তার কারণে এটি এনক্রিপ্ট করা আছে .. সুতরাং আমাকে ভিএম ব্যবহার করতে হবে, পাসওয়ার্ডটি প্রবেশ করানো হবে এবং তারপরে ব্যবহারটি প্রস্থান করতে হবে :q..

বিড়াল (বা অন্য কোনও কমান্ড, অবশ্যই কোথাও আমার পাসওয়ার্ডটি পাস করার) ব্যবহার করার কী কী উপায় আছে এবং কেবল সামগ্রীগুলি মুদ্রণ / পেতে পারি? অথবা সম্ভবত কেবল একটি ভিএম বিকল্প আছে যা কেবল সম্পাদককে প্রবেশ না করেই সামগ্রীগুলি মুদ্রণ করে?


ভিমের সাথে একটি শেল স্ক্রিপ্ট বান্ডিল রয়েছে যা এটি কম পেজারের মতো আচরণ করতে সেট করে। এটি "IM ভিআইআরআরিন্টটাইম / ম্যাক্রো / কম.শ" এ অবস্থিত এবং "$ ভিআইআরআরআউটটাইম / ম্যাক্রো / কম.ভিম" স্ক্রিপ্ট ব্যবহার করে। দেখুন :help less। দুর্ভাগ্যক্রমে এটিকে প্রস্থান করার জন্য এখনও চাপ প্রয়োজন q( :প্রয়োজন নেই)।
বিট্রি

2
ওপেন-সোর্স ভিমডেক্রিপ্ট চেষ্টা করুন ।
harrymc

উত্তর:


4

ওপেন-সোর্স ভিমডেক্রিপ্টটি দেখুন :

ভিএম-ব্লো ফিশ-এনক্রিপ্ট করা ফাইলগুলি ডিক্রিপ্ট করার জন্য কমান্ড লাইন সরঞ্জাম।

সংস্করণ 7.3 হিসাবে ভিএম ব্লোফিশ এনক্রিপশন / ডিক্রিপশনটিতে শক্তিশালী অন্তর্নির্মিত অফার দেয় যা নির্দিষ্ট উদ্দেশ্যে Gnupg এর মাধ্যমে ফিল্টারিংয়ের চেয়ে আরও সুবিধাজনক। দুর্ভাগ্যক্রমে ফলাফলগুলি কেবলমাত্র ভিএম দিয়েই পড়তে পারে যা ব্যাচ প্রসেসিং বা স্ক্রিপ্টিংয়ে তাদের ব্যবহার করা শক্ত করে। এনক্রিপ্ট করা ডেটার দৈর্ঘ্য যদি উদ্বেগজনক হয় তবে যদি কোনও ভিএম এর নির্ভরতা এবং আকার সহ কোনও প্রোগ্রাম এটি আনলক করা প্রয়োজন।

ভিমডেক্রিপ্ট দুটি ভিএম উত্স, ব্লো ফিশ.সি এবং শ 256.c থেকে প্রাসঙ্গিক ফাইলগুলি তুলে নেয় এবং এটিকে একটি সাধারণ কমান্ড লাইন সরঞ্জামে ইন্টারফেস করে। একটি ফাইল থেকে ডেটা পড়া হয়, ডিক্রিপ্টড ডেটা স্টাডআউটে লেখা হয়।

vimdecrypt path_to_data

পাসওয়ার্ডটি জিএনইউ গেটপাসের মাধ্যমে পাওয়া গেছে যা স্টিডিন / স্টাডাউট পুনঃনির্দেশের সাথে হস্তক্ষেপ করে না।

ভিমের কনফিগার সিস্টেমটি পুরোপুরি ছিনিয়ে নেওয়া হয়েছে যা এটির জন্য নির্মিত 32 বিট আই 383 লিনাক্সের চেয়ে অন্যান্য প্ল্যাটফর্মগুলির পক্ষে সমর্থন ভঙ্গ করতে পারে। যেহেতু দুটি প্রাসঙ্গিক ফাইলগুলি ভিআইএম প্রকল্পটি অশোধিত থেকে নেওয়া হয়েছে, এটি অন্যান্য প্ল্যাটফর্মের উপর সমর্থনটি পুনরুদ্ধার করা খুব কম হওয়া উচিত restore


আমি এটি চেষ্টা করেছি তবে এটি আমাকে ছুড়ে ফেলেছে "ইনপুটটি ভিএম-এনক্রিপ্ট হওয়া ফাইল হওয়া উচিত"। আমি মনে করি যে সম্ভবত নতুন সংস্করণ বা ভিআইএম সমর্থন করে না বা এটি আমার ফাইলটিতে এনক্রিপশন পদ্ধতি ব্যবহার করার সমস্যা হতে পারে?
পাবলো মাতিয়াস গোমেজ

আমি দেখতে পাচ্ছি যে সেই স্ক্রিপ্টে ঘোষিত যাদুকরগুলি magics = None, b'VimCrypt~02!', b'VimCrypt~03!'এবং আমি আমার ফাইলটি পরীক্ষা করেছিলাম এবং এটি দিয়ে শুরু হয় VimCrypt~01!:(
পাবলো মাতিয়াস গোমেজ

ভিমক্রিপ্ট 01 হ'ল ব্লু ফিশ / ব্লো ফিশ 2 এর চেয়ে PZKIP ক্রিপ্ট। উইম ডিস্ট্রো থেকে ক্রিপ্ট_জিপ.সি.কে ধরে এবং ব্লোফিশ বৈকল্পের পরিবর্তে ক্রিপ্ট_জিপ_নিট এবং ক্রিপ্ট_জিপ_নকোড কল করার জন্য vimdecrypt.c এ সমর্থন যুক্ত করে অনুরূপ কিছু তৈরি করতে পারে। আমি নিজেই এটি করতে প্রলুব্ধ।
ssnobody

2
আপনি পুরাতন pkzip ভিত্তিক এনক্রিপশন (যা ভাঙ্গা, তবে এখনও সামঞ্জস্যতার কারণে ডিফল্ট) এবং নতুন নয় (ভিম 7.3 হিসাবে) ব্লা ফিশ ভিত্তিক সিস্টেম ব্যবহার করছেন। আমি জানি যে ব্লোফিশটি VimCrypt ~ 02 এবং আমি মনে করি যে ব্লো ফিশ 2 ভিমক্রিপট ~ 03 is এখানে বর্ণিত হিসাবে আপনি নিজের এনক্রিপশনটিকে শক্তিশালী ব্লোফিশ বা ব্লো ফিশ 2 তে রূপান্তর করতে পারেন এবং তারপরে সম্ভবত উইমডেক্রিপ্ট আপনার পক্ষে কাজ করবে।
harrymc

@harrymc ধন্যবাদ! এটি পুরোপুরি কাজ করেছে। এখানে আপনার অনুগ্রহ।
পাবলো মাতিয়াস গোমেজ

5

এটি একটি মার্জিত সমাধান নয় --- এটি দ্রুত এবং নোংরা --- তবে এটি একক ফাইলগুলিতে কাজ করে এবং আপনি এটি শেল স্ক্রিপ্ট হিসাবে ব্যবহার করতে পারেন।

এটি তিনটি আদেশের ক্রম যা নিম্নলিখিতগুলি সম্পাদন করে:

  1. ভিমে ফাইল খুলুন (কেবল পঠন মোডে): vim -R
  2. প্লেইন টেক্সটে ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন: -c ":set key= | sav ${filename}.plain | q
  3. প্লেটেক্সট ফাইলটি বিড়াল করুন: cat ${filename}.plain
  4. (Allyচ্ছিকভাবে) প্লেইন টেক্সট ফাইলটি মুছুন: rm ${filename}.plain

শেষ পর্যন্ত আপনার কাছে একটি স্ক্রিপ্ট থাকতে পারে যা পাসওয়ার্ডটি ভিএম কমান্ডের কাছেও দেয়। একটি সাধারণ স্ক্রিপ্ট হিসাবে এটি হবে:

filename=$1
password=$2

vim -R -c ":set key= | sav ${filename}.plain | q" -- ${filename} <<< $password && cat ${filename}.plain && rm ${filename}.plain

যেখানে প্রথম যুক্তিটি ফাইলের নাম এবং দ্বিতীয়টি হচ্ছে পাসওয়ার্ড।

অবশ্যই, আপনার মনে রাখা উচিত কয়েকটি বিষয় রয়েছে:

  • নিশ্চিত হয়ে নিন যে আপনি বিদ্যমান ফাইলগুলিকে ওভাররাইট করছেন না যার নাম রয়েছে ${filename}.plain
  • পাসওয়ার্ড কমান্ড লাইনে উপস্থিত হবে এবং ইতিহাসে সংরক্ষণ করা হবে। আপনি যদি প্রতিবার পাসওয়ার্ডের জন্য অনুরোধ করতে চান তবে <<< $passwordঅংশটি সরিয়ে দিন ।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.