| 
 
TA的每日心情|  | 奋斗 2021-4-20 05:43
 | 
|---|
 签到天数: 300 天 [LV.8]合体 | 
 
| 本帖最后由 可梦之 于 2021-4-15 18:10 编辑 $ r7 C$ O0 X* a 
 + M" C- z) Z2 ~, g$ }# [我们生活在云时代,数据安全越来越重要。HTTPS解决了传输过程中安全问题,但是我们的数据对服务器端还是透明的。包括我们的密码,服务器想把明文存下来技术上没任何问题,主要取决于网站的人品。
 1 N7 z3 c" }) `& c1 |, k2 K5 w" ~4 W/ ]
 如果想让数据对服务器不可见,就需要客户端加密。著名的TG就支持端到端加密,当然各国政府都反对。  F- Q# s5 N7 W& h& |6 ^+ C4 r
 
 , H4 G( O$ x0 y* D$ y最近学习了一下,用JS做客户端加密,加密之后的数据再传给服务器,这样服务器都不知你的内容是什么。当然,如果密码忘记了,谁都帮不了你了。
 + Q+ c# X- _: S% g6 j- ~. _
 . M- b) V5 q9 A/ Q0 ^我用的是crypto-js里的AES算法。JS是脚本语言,谁都可以看到源代码,想搞猫腻都不容易。
 8 E/ L& \" ?% e2 a3 \! z/ y
 5 }) y- Y  }2 ]+ _9 f) z" e) f# n( z) l0 _7 @
 图片1: JS代码
 7 C+ E* c0 L% r- M8 K& f  F图片2: 原始文本* R! M1 R+ \+ _" D* Q& ]! Q# @! U
 图片3: 加密后文本* U8 ]$ \3 @3 y" T' A, P$ q! K8 n
 ' a6 j. K, J9 Q' a) ]5 U
 服务器收到的是:; j  g& n& m6 e6 R# t9 \& [! X
 Parameters: {"authenticity_token"=>"/go+Dm9e7V5uWTqdPQOQ8CrsIBNag7a77/KNQNFCeBRrdTvVzHbxoc2WJb2XA4Z4e3wi5GkAvaI4ahFPryq2yw==", "title"=>"第一篇日记", "date"=>"2021-04-15", "content"=>"U2FsdGVkX18Qo7jf6y1hpeVjApkbiox1A+vdQFF4LVlke39DYte1pRAs+UdKA9W5", "commit"=>"修改", "locale"=>"zh-CN", "table_slug"=>"pl2e", "id"=>"1"}
 | 
 评分
查看全部评分
 |