কমান্ড প্রম্পটে পাবলিক কী ব্যবহার করে আমি কোনও বার্তা (স্ট্রিং) এনক্রিপ্ট করতে পারি? এছাড়াও, আমি কীভাবে ফলাফলটি পরে ডিক্রিপ্ট করব?
কমান্ড প্রম্পটে পাবলিক কী ব্যবহার করে আমি কোনও বার্তা (স্ট্রিং) এনক্রিপ্ট করতে পারি? এছাড়াও, আমি কীভাবে ফলাফলটি পরে ডিক্রিপ্ট করব?
উত্তর:
আরেকটি বিকল্প হ'ল openssl
:
# generate a 2048-bit RSA key and store it in key.txt
openssl genrsa -out key.txt 2048
# encrypt "hello world" using the RSA key in key.txt
echo "hello world" | openssl rsautl -inkey key.txt -encrypt >output.bin
# decrypt the message and output to stdout
openssl rsautl -inkey key.txt -decrypt <output.bin
আপনি যদি gpg
ইনস্টল করে থাকেন তবে এটি একটি শিল্প-শক্তি এনক্রিপশন পদ্ধতি।
gpg --encrypt -r recipient@example.com> টেম্পাইল
কনসোলে ডেটা টাইপ করুন এবং Ctrl+Dপাঠ্যটি শেষ করতে টিপুন । এটি আপনাকে এনক্রিপ্ট করা ডেটা দেবে tempfile
। ডিক্রিপ্ট করতে:
gpg --decrypt <tempfile
recipient@example.com
বার্তাটি ডিক্রিপ্ট করার জন্য আপনার পাসফ্রেজের প্রয়োজন হবে ।
gpg --encrypt -r recipient@example.com >tempfile gpg: error retrieving 'recipient@example.com' via WKD: No data gpg: recipient@example.com: skipped: No data gpg: [stdin]: encryption failed: No data
(আমি একটি ম্যাকের সাথে আছি)
একটি ব্যক্তিগত / সর্বজনীন কী জুড়ি উত্পন্ন করুন
$ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
পাবলিক কী ব্যবহার করে স্ট্রিংটি এনক্রিপ্ট করুন এবং একটি ফাইলে সঞ্চয় করুন
$ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
ব্যক্তিগত কী ব্যবহার করে আন-এনক্রিপ্ট করুন
$ string=`openssl rsautl -decrypt -inkey rsa_key.pri -in secret.dat `; echo $string
stockexchange.com
বিঃদ্রঃ:
ক্রিপ্ট জার্মান এনিগমার লাইনের সাথে ডিজাইন করা একটি ওয়ান-রটার মেশিন প্রয়োগ করে তবে 256-এলিমেন্টের রটার দিয়ে। এই জাতীয় মেশিনে আক্রমণ করার পদ্ধতিগুলি ব্যাপকভাবে পরিচিত, সুতরাং ক্রিপ্ট ন্যূনতম সুরক্ষা সরবরাহ করে।
তবে এটি প্রদর্শনের উদ্দেশ্যে ঠিক আছে।