城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

57个挑战之55服务加密实现

3月11日 断龙塔投稿
  接昨天,发现在python3里面,2次提供相同的url,hash的数值的确是不一致的。google了一下,发现这个是Python为了防止恶意攻击做的一个操作。
  下面蓝框,如果要解除这个问题,建议使用hashlib模块。
  好吧,直接找了下它的实现:
  https:docs。python。org3libraryhashlib。html
  比较喜欢这个blake2b的实现,指定长度,而且加入key防止被暴力破解。
  把这段代码引入到昨天的代码中,问题解决。贴代码importredisimportreimportjsonimporttimeimportcgifromredisimportStrictRedis,ConnectionPoolfromflaskimportFlask,jsonify,requestimportrequestsfromhashlibimportblake2bappFlask(name)defcreateurl():print(Cometothefunctioncreateurl())prefixhttp:127。0。0。1apiurlsuffixtime。strftime(YmdH:M:S,time。localtime())urlprefixsuffixprint(url)print(Comeoutofthefunctioncreateurl())returnurldefdohash(url):print(cometofunctiondohash(url))FILESHASHPERSONb57challenges设置一个keyhblake2b(digestsize10,personFILESHASHPERSON)设置加密长度及指定keyh。update(url。encode())primkeyh。hexdigest()print(thehashof{0}is{1}。format(url,primkey))print(comeoutoffunctiondohash(url))returnprimkeydefinsertintoredis(primkey,textcontent):mock把数据插入数据库,primkey和textcontentprint(cometofunctioninsertintoredis(primkey,textcontent))poolConnectionPool(hostlocalhost,port6379,db0,decoderesponsesTrue)rStrictRedis(connectionpoolpool)try:r。hset(document,primkey,json。dumps({content:textcontent}))except:return0print(comeoutoffunctioninsertintoredis(primkey,textcontent))return1defcheckurlifexist(url):mock检查逻辑print(cometofunctioncheckurlifexist(url))print(Thereceivedurlis{0}。format(url))keydohash(url)print(tosearchthiskey{0},checkifitexist。format(key))poolConnectionPool(hostlocalhost,port6379,db0,decoderesponsesTrue)rStrictRedis(connectionpoolpool)ifr。hexists(document,key):result1print(itexist)else:result0print(itnotexist)print(comeoutoffunctioncheckurlifexist(url))returnresultdefgettext(url):print(cometofunctiongettext(url))poolConnectionPool(hostlocalhost,port6379,db0,decoderesponsesTrue)rStrictRedis(connectionpoolpool)keydohash(url)textinfojsonr。hmget(document,key)print(textinfojson)debug,整个信息内容展示print(type(textinfojson))看看类型,原来是Listprint(textinfojson〔0〕)展示list中第一个元素内容print(type(textinfojson〔0〕))看看类型是strprint(json。loads(textinfojson〔0〕)〔content〕)把str类型转为字典,并读取字典里面key为content的内容textinfojson。loads(textinfojson〔0〕)〔content〕print(comeoutoffunctiongettext(url))returntextinfo1。保存文档:功能逻辑:接收前端请求,把文字存到数据库,并返回成功信息到后端。输入:{text:thisistheinfofortest}输出:{info:informationhasbeensuccessfulsaved}功能逻辑:1。获取输入2。把输入的text文档生成一个url3。把URL做hash,并把hash(url)作为key4。把{hash(url):text}存入数据库5。如果存储成功,则返回信息给到客户端redis表结构设计:{md5(url):text}app。route(apistoredoc,methods〔POST〕)defstoredoc():textcontentrequest。json〔text〕获取输入urlcreateurl()primkeydohash(url)ifinsertintoredis(primkey,textcontent)1:infoinsertintorediskey{0}{1}pairsuccess。format(url,textcontent)else:infosomethingerrorhashappenedreturnjsonify({info:info})2。编辑文档:功能逻辑:收集客户端的编辑请求,进入url并找到对应的数据,把text数据展示在前端,输入:{edit:http:127。0。0。1api202206100906}输出:{textinfo:thisistheinfofortest}供客户端逻辑把这个text数据做展示。21:接收输入的URL22:把URL做hash,并到数据库查找数据23:如果存在则返回数据,如果不存在则返回信息告诉不存在result0app。route(apieditdoc,methods〔POST〕)defeditdoc():urlrequest。json〔edit〕print(Wehavegottheinputurl,its{0}。format(url))ifcheckurlifexist(url)1:textinfogettext(url)print(info:thetextinfois{0}。format(textinfo))returnjsonify({info:theurlisexist,url:url})else:returnjsonify({info:theurl{0}isnotexist。format(url)})ifnamemain:app。run(host0。0。0。0,port8008,debugTrue)
  前端插入效果
  后台信息:
  看到key是这个9265结尾的。
  我用同一个url链接,反向找下对应的数值:
  后端的日志:key没变
  操作三次,查看数据库,信息是完备的。
投诉 评论 转载

上了年纪的女人,尽量少穿这些老气色,多穿这3个减龄色这么穿显高级KarimRashid曾说过:颜色是我们生活中最美的现象之一,颜色是生命,能够触动我们的情感、心灵、精神。色彩是穿搭中所传递出的第一印象,它的好看与否直接决定……科普瓶装水矿泉水天然水,到底哪个更健康?水是人们赖以生存的源泉,我们的生活离不开水,可是我们不断发展的工业化进程,却让身边的水逐渐失去了往日的生机随着生活节奏的加快,人们的饮水习惯发生了很大的变化。家里的冰箱里总是会……百年佳品歇马杏,火热七月待您来【来源:大连市庄河市人民政府街镇信息】喂,您好。我想预定今年的歇马杏,请问还能定上吗?家住庄河市太平岭满族乡歇马村的姜杰、赵常春每年六、七月份都会接到很多预订电话,有的甚……上汽集团致力打造电动车全球爆款张亮MGMULAN基于使用价值本报记者龚梦泽6月13日,MG官方开启了MGMULAN新车赏鉴暨技术线上发布会。据悉,此次亮相的MGMULAN是基于星云纯电动架构打造,搭载LSB躺式电芯、魔方电池、超级……鸿蒙开始破局了,农村包围城市啊手机操作系统一直只有苹果和安卓两个系统,谁着华为鸿蒙的加入,产生了三分天下的局面,老美一看形势不对,变开始制裁华为,不让台积电给华为制造芯片,不让使用安卓软件系统,导致华为手机……偶遇江西一个脸盆村,着实有趣好玩,现为摄影师拍照胜地中国之大无奇不有,景点更是千奇百怪,比如水晶洞穴、千湖沙漠、瓦特纳冰洞、丹霞地貌等景观,图片上看或许感觉还不是强烈,真正到了跟前才知道大自然的伟力!蟀大叔认为,对自然怀抱着敬畏……鸡足山九莲寺义工记第24天今天是我最不想写聊心情的一天,我现在特别想和师父们说说话,不说话哪怕坐一坐也行。但今天也是我人生中最精彩的一天,应该一记。我们昨天一行六人拜山,中途住到碧云寺。今早从碧云……染完头发以后间隔几天洗头最好怎么做才可以掉色不那么快染头发,简单地说就是给头发上色,很多人都是喜欢的,偶尔改变一下头发的颜色,也可以自己乐乐,那么染完头发以后间隔几天洗头最好?染完头发怎么做才可以掉色不那么快?染完头发以后……这几个国货面膜惊到我了!百雀羚敷尔佳上榜!有你在用的吗?挑选面膜还是要上心的,不要跟风购买每个人肌肤需求都不一样素颜暗沉就提亮,皮肤敏感就修护不要光简单的补水了我是后来跟着李佳琦用了不少咱们国货面膜,发现比自……快本被取代后,为什么反而小透明的吴昕资源越来越好了?由于种种原因,被芒果台下架停播了,取而代之的是《你好,星期六》。主持人除了何炅,其他四位都被替换,而这四位主持人又将何去何从?据知情人士透露,李维嘉开始往幕后发展,谢娜基……57个挑战之55服务加密实现接昨天,发现在python3里面,2次提供相同的url,hash的数值的确是不一致的。google了一下,发现这个是Python为了防止恶意攻击做的一个操作。下面蓝框,如……ASML失策了,国产芯片依靠国产光刻机也能赚大钱近日分析机构指又一家国产芯片代工企业跻身全球前十强,成为中国第三大芯片代工企业,它就是晶合集成,值得注意的是这家芯片制造企业并没采用ASML最先进的光刻机,而只需要采用用于成熟……
OPPOReno8T渲染图曝光后置双环三摄亮眼王嘉宁为何能顶替李思思主持兔年春晚?撒贝宁的回复让人笑翻神秘股东抄底特斯拉,暴赚近1000亿爱奇艺不再限制投屏阔腿裤烂大街了!今春升级版初恋裤,看完想恋爱了肾虚不分男女,身体若出现4种情况,多半是肾虚了,留心观察父爱如山促销造句用促销造句大全它比造句用它比造句大全仅限于造句用仅限于造句大全榴莲把掉了是不是不新鲜席酉民领导的眼力活动预告阅满鸠江!来咱家书房体验非凡周末

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找