আমি জাভা ভিত্তিক নিও 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 এ প্যাডিং হয় (এবং কেবল শেষে বৈধ হয়)। একটি এনকোডেড স্ট্রিংয়ের প্যাডিং রয়েছে এবং অন্যটি (বা আরও সাধারণভাবে, দুটি স্ট্রিংয়ের বিভিন্ন পরিমাণে প্যাডিং থাকে না) এই ঘটনাটি একটি মৃত শর্ত যে দুটি পৃথক দৈর্ঘ্যের এবং সম্ভবত একরকম হতে পারে না।