Да бисте генерисали једну временску лозинку или јединствену идентификациону УРЛ адресу

Једнократна лозинка (ОТП) је лозинка која важи за само једну сесију пријаве или трансакције на рачунарском систему или другом дигиталном уређају. За више детаља погледајте ово . Алгоритам Насумично одаберите ликове из наших свега могућности и генерише низ жељене дужине од ње. ОТПС је углавном дугачка 6-7 знакова, а насумичност у 6-7 знакова готово гарантује сигуран начин пријављивања.

ОТП се широко користе на веб локацијама као што су Фацебоок Гоогле Сигн-ин ВиФи - Приступ железничким порталима за пријаву итд.

Како се генерише?

Па, то је велика могућност да користи исти алгоритам као што се генерише ОТП. Ако случајно (врло ретко) је већ генерисан јединствени низ који је већ генерисан пре и повезан је са другачијим кодом, а затим се користи још један случајни низ. Према сада се чини да се само шест жица знакова настаје насумично за јединствену идентификацију свих кодова. Доћи ће време када се могу исцрпити сви могући шест жица од шест знакова. Дакле да, чак и ствари које се односе на веб се такође увелике ослањају на случајност.

Вероватноћа судара два ОТПС-а 

  • Дужина ОТП је 6, а постављена величина свих могућих знакова у ОТП-у је 62. Дакле, укупан број могућих скупова пар ОТПС-а је 62 12 .
  • Неки од њих су - [{ааааааааааааааааб} ..... {456789 456788} {456789 456789}]
  • Али могући сетови једнаких пар Отпс-а су: 62 6 . Неки од њих су - [{АААААААААА} {АААААБ ААААААБ} ..... {456788 456788} {456789 456789}]
  • Отуда вероватноћа Судара два ОТПС-а је: 62 6 / 62 12 = 1/62 6 = 1/56800235584 = 1.7605561 -11

Тако вероватноћа Од два ОТПС судара су мање вероватна као и постојање вашег живота на Земљи (однос броја година које ћете живети у броју година од почетка свемира и свега што постоји) .СОТОТПС су начин сигурнији од статичких лозинки! Примена  

CPP
   // A C/C++ Program to generate OTP (One Time Password)   #include       using     namespace     std  ;   // A Function to generate a unique OTP everytime   string     generateOTP  (  int     len  )   {      // All possible characters of my OTP      string     str     =     'abcdefghijklmnopqrstuvwxyzABCD'      'EFGHIJKLMNOPQRSTUVWXYZ0123456789'  ;      int     n     =     str  .  length  ();      // String to hold my OTP      string     OTP  ;      for     (  int     i  =  1  ;     i   <=  len  ;     i  ++  )      OTP  .  push_back  (  str  [  rand  ()     %     n  ]);      return  (  OTP  );   }   // Driver Program to test above functions   int     main  ()   {      // For different values each time we run the code      srand  (  time  (  NULL  ));      // Declare the length of OTP      int     len     =     6  ;      printf  (  'Your OTP is - %s'       generateOTP  (  len  ).  c_str  ());      return  (  0  );   }   
Java
   // A Java Program to generate OTP (One Time Password)   class   GFG  {   // A Function to generate a unique OTP everytime   static     String     generateOTP  (  int     len  )   {      // All possible characters of my OTP      String     str     =     'abcdefghijklmnopqrstuvwxyzABCD'      +  'EFGHIJKLMNOPQRSTUVWXYZ0123456789'  ;      int     n     =     str  .  length  ();      // String to hold my OTP      String     OTP  =  ''  ;      for     (  int     i     =     1  ;     i      <=     len  ;     i  ++  )      OTP     +=     (  str  .  charAt  ((  int  )     ((  Math  .  random  ()  *  10  )     %     n  )));      return  (  OTP  );   }   // Driver code   public     static     void     main  (  String  []     args  )   {      // Declare the length of OTP      int     len     =     6  ;      System  .  out  .  printf  (  'Your OTP is - %s'       generateOTP  (  len  ));   }   }   // This code is contributed by PrinciRaj1992   
Python
   # A Python3 Program to generate OTP (One Time Password)   import   random   # A Function to generate a unique OTP everytime   def   generateOTP  (  length  ):   # All possible characters of my OTP   str   =   'abcdefghijklmnopqrstuvwxyzAB      CDEFGHIJKLMNOPQRSTUVWXYZ0123456789'  ;   n   =   len  (  str  );   # String to hold my OTP   OTP   =   ''  ;   for   i   in   range  (  1    length  +  1  ):   OTP   +=   str  [  int  (  random  .  random  ()  *  10  )   %   n  ];   return   (  OTP  );   # Driver code   if   __name__   ==   '__main__'  :   # Declare the length of OTP   length   =   6  ;   print  (  'Your OTP is - '     generateOTP  (  length  ));   # This code contributed by Rajput-Ji   
C#
   // A C# Program to generate OTP (One Time Password)   using     System  ;   class     GFG     {      // A Function to generate a unique OTP everytime      static     string     generateOTP  (  int     len  )      {      // All possible characters of my OTP      string     str     =     'abcdefghijklmnopqrstuvwxyzABCD'      +     'EFGHIJKLMNOPQRSTUVWXYZ0123456789'  ;      int     n     =     str  .  Length  ;      // Creating a new Random object      Random     rand     =     new     Random  ();      // String to hold my OTP      string     OTP     =     ''  ;      for     (  int     i     =     1  ;     i      <=     len  ;     i  ++  )      OTP     +=     (  str  [((  int  )((  rand  .  Next  ()     *     10  )     %     n  ))]);      return     (  OTP  );      }      // Driver code      public     static     void     Main  (  string  []     args  )      {      // Declare the length of OTP      int     len     =     6  ;      Console  .  WriteLine  (  'Your OTP is - '      +     generateOTP  (  len  ));      }   }   // This code is contributed by phasing17   
JavaScript
   // JavaScript Program to generate OTP (One Time Password)   // A Function to generate a unique OTP everytime   function     generateOTP  (  length  )   {      // All possible characters of my OTP      let     str     =     'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'  ;      let     n     =     str  .  length  ;      // String to hold my OTP      let     OTP     =     ''  ;      for     (  var     i     =     1  ;     i      <=     length  ;     i  ++  )      OTP     +=     str  [(  Math  .  floor  (  Math  .  random  ()     *     10  )     %     n  )];      return     (  OTP  );   }   // Driver code   // Declare the length of OTP   let     length     =     6  ;   console  .  log  (  'Your OTP is - '       generateOTP  (  length  ));   // This code is contributed by phasing17   

Излаз (може бити различит за сваку вожњу):

 Your OTP is - 8qOtzy  

Сложеност времена: О (н) где н = број знакова у нашој тужилаштву Помоћни простор: Поред струна који има све могуће знакове, потребни смо О (Н) Простор за задржавање ОТП-а где н = број знакова у нашем ОТП-у ако вам се свиђају Геексфоргеекс и желите да допринесете, можете да напишете и чланак написати.геексфоргеекс.орг или пошаљите свој чланак на преглед-теам@геексфоргеекс.орг. Погледајте свој чланак који се појављује на главној страници Геексфоргеекс и помогне другим геекима. Напишите коментаре ако пронађете нешто погрешно или желите да поделите више информација о горе наведеној теми.