国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【python socket編程】—— 6.簡單實現render_template和密碼hash

caozhijian / 1844人閱讀

摘要:前文編程實現和在中有函數,用于解析模板,現在我們來簡單實現它。密碼的加密,可以使用這個庫,可以實現等多種方式,例如傳入的,會返回加密之后的字符串,值得一提的是的方法,和依次返回的結果是一樣。

前文:【python socket編程】—— 5.實現cookie和session


Flask中有render_template函數,用于解析jinja2模板,現在我們來簡單實現它。代碼如下:

from os import path
from jinja2 import Environment, FileSystemLoader


project_path = path.abspath(path.join(path.dirname(__file__), ".."))
templates_path = "{}/templates".format(project_path)
loader = FileSystemLoader(templates_path)
env = Environment(loader=loader)

def render_template(template, **kwargs):
    temp = env.get_template(template)
    return temp.render(**kwargs)

首先需要導入jinja2模塊中的EnvironmentFileSystemLoader,用os.path獲取到模板的存放位置templates_path,將其作為參數傳給FileSystemLoader實例化出一個loader對象,再將loader傳遞給Environment實例一個env對象,env對象的get_template方法獲取模板temp,調用temp.render返回渲染后的內容,使用**kwargs來傳參數給模板。


密碼的加密,可以使用hashlib這個庫,可以實現md5sha1sha256等多種hash方式,例如:

import hashlib

def generate_hash(string):
    new_string = string.encode("ascii")
    sha256 = hashlib.sha256()
    sha256.update(new_string)
    return sha256.hexdigest()

傳入的stringgenerate_hash會返回sha256加密之后的字符串,值得一提的是sha256.update(new_string)update方法,sha256.update("Hello World")和依次sha256.update("Hello ")sha256.update("World")返回的結果是一樣。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41360.html

相關文章

  • python socket編程】—— 5.實現cookiesession

    摘要:前文編程實現函數的實現很簡單,在服務器返回的響應中,里增加,瀏覽器接受到中的,下次訪問這個網站的請求中就會帶上這個。此時服務端解析,根據就知道當前用戶是登陸狀態的。顯然,直接在里寫用戶的是不安全的。下一篇文章編程簡單實現和密碼 前文:【python socket編程】—— 4.實現redirect函數 cookie的實現很簡單,在服務器返回的響應中,header里增加Set-Cook...

    lykops 評論0 收藏0
  • 10.注冊登錄功能實現(3)—— 注冊數據寫入數據庫

    摘要:現在數據獲取到了,提示也有了,我們需要把注冊的數據寫入到數據庫,這一步很簡單,直接使用之前提到過的方法,但是我們不能直接把明文密碼寫入到數據庫中,那樣做是十分不安全的,我們需要將其加密之后再寫進去,具體是用到中的這個函數,將字符串變成值。 現在數據獲取到了,提示也有了,我們需要把注冊的數據寫入到數據庫,這一步很簡單,直接使用之前提到過的方法,但是我們不能直接把明文密碼寫入到數據庫中,那...

    zhangqh 評論0 收藏0
  • 通過Python入門區塊鏈

    摘要:通過入門區塊鏈本文翻譯自的文章原文地址區塊鏈可能是繼互聯網之后最重大和最具突破性的技術。先不管對比特幣和其他加密貨幣價格的瘋狂行情,本文旨在幫助讀者入門區塊鏈技術。 通過Python入門區塊鏈 本文翻譯自 Adil Moujahid 的文章 A Practical Introduction to Blockchain with Python原文地址:http://adilmoujahi...

    andong777 評論0 收藏0
  • 通過Python入門區塊鏈

    摘要:通過入門區塊鏈本文翻譯自的文章原文地址區塊鏈可能是繼互聯網之后最重大和最具突破性的技術。先不管對比特幣和其他加密貨幣價格的瘋狂行情,本文旨在幫助讀者入門區塊鏈技術。 通過Python入門區塊鏈 本文翻譯自 Adil Moujahid 的文章 A Practical Introduction to Blockchain with Python原文地址:http://adilmoujahi...

    CloudDeveloper 評論0 收藏0
  • python大佬養成計劃----Jinja2模板

    摘要:模板默認保存在目錄。在使用函數調用模板文件時,需要通過關鍵字參數指定值。模板中使用宏來防止代碼冗余。當一個模板被另外的模板繼承時,可以通過訪問父模板的資源。 什么是Jinja2 Jinja2是Python下一個被廣泛應用的模版引擎,他的設計思想來源于Django的模板引擎,并擴展了其語法和一系列強大的功能。其中最顯著的一個是增加了沙箱執行功能和可選的自動轉義功能,這對大多應用的安全性來...

    gaomysion 評論0 收藏0

發表評論

0條評論

caozhijian

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<