আমার সি ++ অ্যাপ্লিকেশনটিতে সংবেদনশীল তথ্য (একটি প্রতিসম এনক্রিপশন কী যা আমি ব্যক্তিগত রাখতে চাই) সঞ্চয় করতে হবে। সহজ পদ্ধতিটি এটি করা:
std::string myKey = "mysupersupersecretpasswordthatyouwillneverguess";
তবে, strings
প্রক্রিয়াটির মাধ্যমে অ্যাপ্লিকেশনটি চালনা করা (বা অন্য কোনও বাইনারি অ্যাপ থেকে স্ট্রিংগুলি বের করে এমন) উপরের স্ট্রিংটি প্রকাশ করবে।
এই জাতীয় সংবেদনশীল ডেটা অস্পষ্ট করার জন্য কোন কৌশলগুলি ব্যবহার করা উচিত?
সম্পাদনা করুন:
ঠিক আছে, আপনারা সকলেই বলেছেন যে "আপনার এক্সিকিউটেবল বিপরীত প্রকৌশলী হতে পারে" - অবশ্যই! এটি আমার একটি পোষা প্রাণবন্ত, সুতরাং আমি এখানে কিছুটা ভাড়া নিচ্ছি:
কেন এই সাইটের 99% (ঠিক আছে, তাই আমি সম্ভবত কিছুটা বাড়িয়ে বলছি) এর উত্তরটি "পুরোপুরি সুরক্ষিত কোনও প্রোগ্রাম তৈরি করার কোনও উপায় নেই" - এর টরেন্ট দিয়ে উত্তর দেওয়া হয়েছে - এটি সহায়ক নয় উত্তর! সুরক্ষা নিখুঁত ব্যবহারযোগ্যতা এবং এক প্রান্তে সুরক্ষা এবং নিখুঁত সুরক্ষা কিন্তু অন্যদিকে ব্যবহারের অযোগ্যতার মধ্যে একটি স্লাইডিং স্কেল।
মুল বক্তব্যটি হ'ল আপনি কী চেষ্টা করছেন এবং যে পরিবেশে আপনার সফ্টওয়্যারটি চলবে তার উপর নির্ভর করে আপনি সেই স্লাইডিং স্কেলে আপনার অবস্থানটি বেছে নিয়েছেন। আমি সামরিক স্থাপনার জন্য একটি অ্যাপ লিখছি না, আমি একটি হোম পিসির জন্য একটি অ্যাপ্লিকেশন লিখছি । আমার একটি অবিশ্বস্ত নেটওয়ার্ক জুড়ে একটি পূর্ব-পরিচিত এনক্রিপশন কী সহ ডেটা এনক্রিপ্ট করা দরকার। এই ক্ষেত্রে, "অস্পষ্টতার মাধ্যমে সুরক্ষা" সম্ভবত যথেষ্ট ভাল! অবশ্যই, যথেষ্ট সময়, শক্তি এবং দক্ষতার সাথে কেউ বাইনারিটি বিপরীত করে ইঞ্জিনিয়ার করে পাসওয়ার্ডটি খুঁজে পেতে পারে তবে অনুমান কী? আমি পাত্তা দিই না:
শীর্ষস্থানীয় সুরক্ষিত সিস্টেমটি প্রয়োগ করতে আমার যে সময় লাগে তা ক্র্যাক করা সংস্করণগুলির কারণে বিক্রয় ক্ষতির চেয়ে ব্যয়বহুল (আমি আসলে এটি বিক্রি করছি না, তবে আপনি আমার বক্তব্যটি পেয়েছেন)। এই নীল-আকাশে নতুন প্রোগ্রামারদের মধ্যে প্রোগ্রামিংয়ের প্রবণতাটি "এটি সর্বাত্মক সর্বোত্তম উপায়ে সম্ভব করতে দেয়" কমপক্ষে বলতে বোকামি।
এই প্রশ্নের উত্তর দেওয়ার জন্য সময় দেওয়ার জন্য আপনাকে ধন্যবাদ - তারা সবচেয়ে সহায়ক ছিল। দুর্ভাগ্যক্রমে আমি কেবল একটি উত্তর গ্রহণ করতে পারি, তবে আমি সমস্ত দরকারী উত্তরগুলিতে ভোট দিয়েছি।