আমি SHA256
একটি পাসওয়ার্ড + নুন চালিয়ে যাচ্ছি , তবে VARCHAR
মাইএসকিউএল ডাটাবেস সেট আপ করার সময় আমার কতক্ষণ বানাতে হবে তা আমি জানি না । একটি ভাল দৈর্ঘ্য কি?
আমি SHA256
একটি পাসওয়ার্ড + নুন চালিয়ে যাচ্ছি , তবে VARCHAR
মাইএসকিউএল ডাটাবেস সেট আপ করার সময় আমার কতক্ষণ বানাতে হবে তা আমি জানি না । একটি ভাল দৈর্ঘ্য কি?
উত্তর:
একটি sha256 256 বিট দীর্ঘ - এটির নামটি ইঙ্গিত দেয়।
যেহেতু sha256 হেক্সাডেসিমাল প্রতিনিধিত্ব করে, 4 টি বিট প্রতিটি অক্ষরকে এনকোড করার জন্য যথেষ্ট (8 এর পরিবর্তে, ASCII এর মতো), সুতরাং 256 বিটগুলি 64 হেক্স অক্ষর উপস্থাপন করবে, সুতরাং আপনার প্রয়োজন একটি varchar(64)
, বা এমনকি একটি char(64)
, কারণ দৈর্ঘ্য সবসময় একই থাকে মোটেও আলাদা হয় না।
এবং ডেমো:
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
তোমাকে দিবে :
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
অর্থাত্ 64 টি অক্ষরযুক্ত একটি স্ট্রিং।
varchar(65)
অগ্রণী হিসাবে ব্যবহার করার পরামর্শ দিচ্ছি !
... শুধু বলছি।
SELECT length(to_base64(unhex(sha2('say hello to my little friend',256))))
:, মূল স্ট্রিংয়ের দৈর্ঘ্য যাই হোক না কেন এটি সর্বদা 44 হয়।
SHA256 এর 256 বিটের জন্য এনকোডিং বিকল্পগুলি:
CHAR(44)
প্যাডিং চরিত্র সহ = প্রতি চার প্রতি 6 বিটCHAR(64)
BINARY(32)
=
ছিনতাই এবং পুনরায় যুক্ত করা যেতে পারে।
আমি বিনেরি (32) ব্যবহার করতে পছন্দ করি কারণ এটি অপ্টিমাইজড উপায়!
আপনি (২০০ থেকে এফএফ) থেকে 32 টি হেক্স সংখ্যায় রাখতে পারেন।
অতএব বিনারি (32)!
UPDATE...SET hash_column=UNHEX(sha256HexString)
। তারপরে, এটি পুনরুদ্ধার করার সময়, আপনি SELECT HEX(hash_column) AS hash_column
।
কেন আপনি এটিকে ভ্রূচার করবেন? এটি আলাদা হয় না। এটি সর্বদা 64৪ টি অক্ষর, যা অনলাইন এসএএএ-256 ক্যালকুলেটরগুলির মধ্যে যেকোন কিছুতে চালিয়ে নির্ধারণ করা যায় ।
SHA-*
হ্যাশ পাসওয়ার্ড ব্যবহার করে, দয়া করে প্রথমে এটি পড়ুন ।