TA的每日心情 | 奋斗 2021-4-20 05:43 |
---|
签到天数: 300 天 [LV.8]合体
|
本帖最后由 可梦之 于 2021-4-15 18:10 编辑 3 W' T2 M: Z( q: E
5 \. v+ n% Y' m g- I, b0 S
我们生活在云时代,数据安全越来越重要。HTTPS解决了传输过程中安全问题,但是我们的数据对服务器端还是透明的。包括我们的密码,服务器想把明文存下来技术上没任何问题,主要取决于网站的人品。
" i+ o* K: D' r/ u i4 i- R* o- S, o) a U% K9 c" F+ y
如果想让数据对服务器不可见,就需要客户端加密。著名的TG就支持端到端加密,当然各国政府都反对。: o& K$ g9 e( c6 P* k( e: }
8 P0 w0 n* F3 B; G最近学习了一下,用JS做客户端加密,加密之后的数据再传给服务器,这样服务器都不知你的内容是什么。当然,如果密码忘记了,谁都帮不了你了。5 D3 B) e, O, ^* [2 C0 h. K+ ~; b
+ C) e9 H8 A; ?1 h9 _1 E$ d
我用的是crypto-js里的AES算法。JS是脚本语言,谁都可以看到源代码,想搞猫腻都不容易。/ ?7 c4 v( [4 N- L+ M' ]
- R. o' k0 J7 y/ b
$ C0 }7 U# r; q8 t; F4 x+ e* e+ Y
图片1: JS代码
, V) l* \* T! z8 P$ c/ D图片2: 原始文本 A ?' K( |0 b/ x( B" T+ h
图片3: 加密后文本: K" D/ u8 h9 c
+ ^" U0 {* k$ b/ P% Y0 F
服务器收到的是:
- N! w" b" T" b' m0 v0 c5 nParameters: {"authenticity_token"=>"/go+Dm9e7V5uWTqdPQOQ8CrsIBNag7a77/KNQNFCeBRrdTvVzHbxoc2WJb2XA4Z4e3wi5GkAvaI4ahFPryq2yw==", "title"=>"第一篇日记", "date"=>"2021-04-15", "content"=>"U2FsdGVkX18Qo7jf6y1hpeVjApkbiox1A+vdQFF4LVlke39DYte1pRAs+UdKA9W5", "commit"=>"修改", "locale"=>"zh-CN", "table_slug"=>"pl2e", "id"=>"1"} |
评分
-
查看全部评分
|