20 отражает, MD5 зашифрованы и журналы модуля регистрации (обзор)

1, отражение

  Ключевые слова:  

    GetAttr строка, чтобы найти тему члена
    hasattr согласно строке, определяется , существует ли предмет , который состоит
    SetAttr в соответствии со строкой, чтобы установить целевой подвижный элемент (ОЗУ)
    delattr в соответствии со строкой, судить набор целевой подвижный элемент (RAM)

  Простой пример:

    1, определяет пять функций, а также ряд в обработчик файлов

Защиту f1 ():
     печать ( " F1 " )
 Защита f2 ():
     печать ( " F2 " )
 Защита f3 ():
     печать ( " F3 " )
 Защита f4 ():
     печать ( " F4 " )
 Защита f5 ():
     печать ( " F5 " ) 

f0 = 9

    2, а затем создать файл запуска. Цифровой вход, чтобы передаточная функция, соответствующая

от типов Импорт FunctionType
 Импорт Handler
 это время True:
     Print ( "" " 
    функционирует система поддерживает: 
        1.f1 
        2.f2 
        3.f3 
        4.f4 
        5.f5 
        6.f6 
    " "" ) 
    Val = в поле ВХОД ( " Пожалуйста , введите функция для выполнения: " )
     , если hasattr (Обработчик, Val):     # определяет , является ли или нет нормального 
        func_or_val = GetAttr (Обработчик, Val)   # строка параметров, блок , чтобы найти членов одного и того же имени , 
        если isinstance (func_or_val, FunctionType) : 
            func_or_val ()
        еще :
             Печать (func_or_val)
     еще :
         Печать ( « введенного имени не существует атрибут » )
 # резюме. Параметр строки (второй параметр), к объекту (первый параметр) , чтобы найти пользователь с этим именем

  При относительно большое количество данных, то невозможно определить, написать кучу отражения особенно важно в это время. 

  Краткое описание:

    То, что отражается: параметр строки (второй параметр), к объекту (первый параметр), чтобы найти член одного и то же имя (предложение: форма строки символов целевой операции атрибуты, связанное)

 

 

2, md5 шифрование

  В Python модуль шифрования md5 зависит от hashlib

  Обычный md5 шифрования, легко постучала библиотека трещины. Это когда вам нужно соль.

  Простой пример выглядит следующим образом:

Импорт hashlib 
ОСВ = B ' Asdasd ' 


DEF MD5 (PWD): 
    OBJ = hashlib.md5 (ОСВ)    # соль ОСВ 
    obj.update (pwd.encode ( 'UTF - 8 ' )) 

    # приобретает шифротекста 
    V = obj.hexdigest ()
     возвращение v

  # Поскольку md5 не является обратимым, поэтому md5 дешифрования. Возьмите данные зашифрованы и открытый текст для шифрования, а затем сравнить, что приводит к выводу.

 

 

3, журнал.

  Был написано однажды, не повторять.

  

  

  

рекомендация

отwww.cnblogs.com/cbslock/p/11230555.html