আমি জাভা ভিত্তিক নিও 4j গ্রাফ ডাটাবেস লুবুন্টু 15.04 এ ব্যবহার করছি।
নিও 4j এইচটিটিপি প্রমাণীকরণ শিরোনামটি 'ব্যবহারকারীর নাম: পাসওয়ার্ড' (কোটস সহ নয়) এর বেস 64 এনকোডিং ব্যবহার করে। ওয়্যারশার্ক ব্যবহার করে আমি নীও ৪ জে দ্বারা উত্পাদিত বেস 6464 কোডটি দেখতে পাচ্ছি।
তবে যদি আমি একই স্ট্রিংটিকে এনকোড করতে উবুন্টু কোর্টিলস বেস 64 ব্যবহার করি তবে আমি কিছুটা আলাদা এনকোডিং পাব। এই এনকোডিংটি neo4j দ্বারা গৃহীত নয়।
দুটি এনকোডিং সঠিক ব্যবহারকারীর ডিকোড: পাসওয়ার্ড স্ট্রিং
উদাহরণ
ব্যবহারকারীর নাম = neo4j
এবং পাসওয়ার্ড =@N
Neo4j প্রত্যাশিত হিসাবে ডিকোড neo4j:@N
হিসাবে এনকোডযুক্ত মান দেয়bmVvNGo6QE4=
neo4j:@N
$ echo 'bmVvNGo6QE4=' | base64 --decode
neo4j:@N
উবুন্টু coreutils base64
আয় এনকোড করা মানকে neo4j:@N
যেমন bmVvNGo6QE4K
(যা শেষ অক্ষর মধ্যে পৃথক) কিন্তু এখনও সঠিকভাবে decodes;
$ echo 'neo4j:@N' | base64
bmVvNGo6QE4K
$ echo 'bmVvNGo6QE4K' | base64 --decode
neo4j:@N
কেন? ধারাবাহিক এনকোডিং পেতে আমার কী দরকার?
=
সাধারণ বেস 64 এ প্যাডিং হয় (এবং কেবল শেষে বৈধ হয়)। একটি এনকোডেড স্ট্রিংয়ের প্যাডিং রয়েছে এবং অন্যটি (বা আরও সাধারণভাবে, দুটি স্ট্রিংয়ের বিভিন্ন পরিমাণে প্যাডিং থাকে না) এই ঘটনাটি একটি মৃত শর্ত যে দুটি পৃথক দৈর্ঘ্যের এবং সম্ভবত একরকম হতে পারে না।