কিছু সুরক্ষিত পিন তৈরি করুন


17

এই খারাপভাবে গৃহীত স্থানান্তরিত পোস্টটি দ্বারা অনুপ্রাণিত ।

আপনার পিন জেনারেশন সিস্টেমটি দেওয়ার পরে আপনার সংস্থার সুরক্ষা প্রধান তাকে উদ্বিগ্ন 12345। তিনি আপনার ব্যয়ে আপনি যে স্পেসবলস রসিকতা করেছিলেন তা সত্যই প্রশংসা করেনি, তাই আপনাকে পিন জেনারেটরটি পুনরায় লেখার জন্য প্রেরণ করা হয়েছে। যেহেতু এটি কিছু বিশেষ হার্ডওয়্যারের সাথে ফিট করে, তাই আপনাকে এটি যথাসম্ভব ছোট করতে হবে।

তোমার কাজ

  • আপনি দুটি ইনপুট নিন - পিনের #, এবং অঙ্কগুলিতে পিনের আকার।
  • এলোমেলোভাবে নির্দিষ্ট আকারের পিনের নির্দিষ্ট সংখ্যা তৈরি করুন এবং এটি মুদ্রণ করুন।
  • আকারের সমস্ত বৈধ পিন অবশ্যই প্রিন্ট করা সম্ভব হবে, এমনকি যদি তারা অভিন্ন সম্ভাব্য নাও হয়।
  • তবে, পিনগুলিতে কিছু বিধিনিষেধ রয়েছে - এখানে অবৈধ রয়েছে:

    1. যদি সমস্ত জুটি একই অঙ্ক হয়: 114422(দ্রষ্টব্য: এতে স্পষ্টতই সমস্ত অঙ্কের পিন অন্তর্ভুক্ত থাকবে)।
    2. ধীরে ধীরে রৈখিক PIN গুলি (গেলিক ভাষার 10): 246802
    3. 3 এর সমস্ত গ্রুপ হ'ল 1 2 3;4 5 6;7 8 9;bksp 0 enter;: এর কীপ্যাডে দৈহিক লাইন 147369
    4. পিনটি নিয়ম 1 এবং বিধি 3 থেকে পুরোপুরি গোষ্ঠীতে বিভক্ত হতে পারে।


  • এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোড !

নিয়মের মধ্যে কি একটি একক ডাবল জুড়ি (লাইক 55123) অন্তর্ভুক্ত রয়েছে ?
mınxomaτ

উভয় গ্রুপকে অন্তর্ভুক্ত করার জন্য বিধি বিধানের প্রশংসা করে @ এমিন্সোম্যাট ভাল পয়েন্ট। দ্বিতীয়ার্ধটি যেহেতু এটির একটি হবে 123তবে 55432তা ঠিক থাকবে।
মাল্টেসেন

বিধি 3 এ কি তির্যক অন্তর্ভুক্ত?
মার্টিন এন্ডার

6
বিদ্রূপের বিষয় হ'ল তথাকথিত "সুরক্ষিত" পিনের এই সংজ্ঞাটি কেবল পিন আক্রমণকারীদের সংখ্যা হ্রাস করতে পারে, জখম বল প্রয়োগ করতে পারে!
ড্যাঙ্কমেস

1
বিধি 2 এর স্বল্পতম দৈর্ঘ্য কত?
ডেনিস

উত্তর:


1

পাইথ, 120 বাইট

Arz7VGJ1WJK%"%0*d",HO-^TH1=J|q1l{m%-F_vMcd1T.:K2u|GHmu|GHm?qlk2:k"(.)\\1"0?qlk3}k+++=bcS"123456789"3_Mb.Tb_M.TbZdZ./K0)K

অঙ্কিত আমার তখন বাস্তব বাস্তবায়ন করা উচিত। যতক্ষণ না পাওয়া যায় যে সমস্ত প্রয়োজনীয়তার সাথে মিল পাওয়া যায় ততক্ষণ এলোমেলো সংখ্যা তৈরি করে। সম্ভবত অনেক উন্নতি করা যায়!

অনলাইন সংস্করণ


1
পিনগুলি এলোমেলো হওয়া আবশ্যক, এবং সমস্ত পিন অবশ্যই সম্ভব হতে পারে তা অন্তর্ভুক্ত করার জন্য আমি বিধিগুলি পরিবর্তন করেছি।
মাল্টেসেন

আমি ভেবেছিলাম আপনি হতে পারেন :)

0

পার্ল 5, 244

প্রদত্ত আকারের জন্য এলোমেলো সংখ্যা উত্পন্ন করা শুরু করে।
এবং শুধুমাত্র সেইগুলি মুদ্রণ করে যেগুলি সীমাবদ্ধতাগুলি মেটেনি।

কীপ্যাড লাইনের জন্য সমাধান (হার্ডকডিং সংমিশ্রণ ছাড়াই) সন্ধান করা মজাদার ছিল।

($k,$l)=@ARGV;$m=10**$l-1;while($n<$k){$_=sprintf("%0".$l."d",int(rand($m)));@N=split//,$_;pop@N;$i=$d=0;while(++$i<@N&&$d<1){$d=$N[$i-1]<=>$N[$i]}$b=$_;$b=~s|\d|@A=split//,$';2*$A[0]-$&-$A[1]==0|eg;if((!m/(\d)\1/)&$b>0&$d>=0){$n++;print$_.$/}}

পরীক্ষা

$ perl gen_pins.pl 10 5
98121
15931
69042
93730
83458
25312
24601
49468
49490
67012
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.