20は、MD5は暗号化され、反射して、ロギングモジュールのログ(レビュー)

図1に示すように、反射

  キーワード:  

    GETATTR文字列は、部材対象を見つけるために、
    文字列に応じてはhasattr、被験者そのメンバがあるか否かを判断する
    SETATTR列によれば、ターゲット移動体を設定する(RAM)
    、delattr文字列に従って設定した目標を判断する移動部材(RAM)

  簡単な例:

    1、5つの機能、およびファイルハンドラ内の番号を定義します

デフF1():
     印刷" F1 " デフF2():
     印刷" F2 " デフF3():
     印刷" F3 " デフF4():
     印刷" F4 " DEF F5():
     印刷" F5 " 

F0 = 9

    2、その後、実行ファイルを作成します。に対応する伝達関数へのデジタル入力

タイプのインポートFunctionType
 インポートハンドラ
 しばらく真:
     印刷「」「
    システムを機能サポートしています。
        1.f1 
        2.f2 
        3.f3 
        4.f4 
        5.f5 
        6.f6 
    」「」
    ヴァル = INPUTは(" 入力してください。実行する機能:" のiFはhasattr(ハンドラ、ヴァル):    正常か否かを判断 
        func_or_val = GETATTR(ハンドラ、ヴァル)   パラメータの文字列を、ブロックと同じ名前のメンバーを見つけるため
        のiF でisinstance(func_or_val、FunctionType) :
            func_or_val()
        印刷(func_or_val)
     印刷入力された属性名が存在しない#の概要。オブジェクト(最初のパラメータ)の文字列パラメータ(第2パラメータ)は、同じ名前を持つメンバーを検索します

  比較的大量のデータは、反射の束を書き込むかを決定することは不可能である場合、この時点では特に重要です。 

  要約:

    何反映されている:文字列パラメータ(第2パラメータ)、オブジェクト(最初のパラメータ)に同じ名前のメンバー(文:関連した操作対象の文字列の属性の形式)を見つけるために

 

 

2、MD5暗号化

  Pythonでは、MD5暗号化モジュールはhashlibに依存します

  通常のMD5暗号化は、簡単にライブラリ亀裂をノックしました。あなたは塩を必要とするときです。

  次のように簡単な例を示します。

インポートhashlib 
SALT = B ' asdasd ' 


DEF :MD5(PWD)
    OBJ = hashlib.md5(SALT)    SALT塩 
    (pwd.encode(obj.updateを' UTF-8 ' )) 

    は、暗号文取得 
    V = obj.hexdigestを()
     の戻り V

  #MD5は可逆的ではないので、MD5暗号解読ので。データが暗号化され、平文を暗号化するために、次に比較すること、という結論につながるください。

 

 

3、ログ。

  前に一度書き込まれた、それを繰り返さないでください。

  

  

  

おすすめ

転載: www.cnblogs.com/cbslock/p/11230555.html