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

資訊專欄INFORMATION COLUMN

【python socket編程】—— 6.簡單實(shí)現(xiàn)render_template和密碼hash

caozhijian / 1854人閱讀

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

前文:【python socket編程】—— 5.實(shí)現(xiàn)cookie和session


Flask中有render_template函數(shù),用于解析jinja2模板,現(xiàn)在我們來簡單實(shí)現(xiàn)它。代碼如下:

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)

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


密碼的加密,可以使用hashlib這個(gè)庫,可以實(shí)現(xiàn)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會(huì)返回sha256加密之后的字符串,值得一提的是sha256.update(new_string)update方法,sha256.update("Hello World")和依次sha256.update("Hello ")sha256.update("World")返回的結(jié)果是一樣。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41360.html

相關(guān)文章

  • python socket編程】—— 5.實(shí)現(xiàn)cookiesession

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

    lykops 評(píng)論0 收藏0
  • 10.注冊登錄功能實(shí)現(xiàn)(3)—— 注冊數(shù)據(jù)寫入數(shù)據(jù)庫

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

    zhangqh 評(píng)論0 收藏0
  • 通過Python入門區(qū)塊鏈

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

    andong777 評(píng)論0 收藏0
  • 通過Python入門區(qū)塊鏈

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

    CloudDeveloper 評(píng)論0 收藏0
  • python大佬養(yǎng)成計(jì)劃----Jinja2模板

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

    gaomysion 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<