TA的每日心情 | 奋斗 2021-4-20 05:43 |
|---|
签到天数: 300 天 [LV.8]合体
|
本帖最后由 可梦之 于 2021-4-15 18:10 编辑
3 w, T6 f" P2 S4 f+ v; A) h
2 k% c$ }# ~. K3 X# W( M& d( O我们生活在云时代,数据安全越来越重要。HTTPS解决了传输过程中安全问题,但是我们的数据对服务器端还是透明的。包括我们的密码,服务器想把明文存下来技术上没任何问题,主要取决于网站的人品。5 [0 j2 T% M1 o
2 ?' ]1 m E! V O9 v; `如果想让数据对服务器不可见,就需要客户端加密。著名的TG就支持端到端加密,当然各国政府都反对。8 _! ?1 _5 C$ w0 r
+ u9 i; O! A7 y& ], L2 E最近学习了一下,用JS做客户端加密,加密之后的数据再传给服务器,这样服务器都不知你的内容是什么。当然,如果密码忘记了,谁都帮不了你了。
/ w' L* ?& ?' `: l+ O: \" F6 T1 b8 `$ `3 N& {6 Z2 x/ ?' I6 o K6 }
我用的是crypto-js里的AES算法。JS是脚本语言,谁都可以看到源代码,想搞猫腻都不容易。
/ L( q7 U; J7 _5 v0 A0 U& N- i& g
' J b0 C$ @$ P. a% w
; c W( I h' Z" r% b: T1 f图片1: JS代码
7 q# ^3 Y) R5 U7 D图片2: 原始文本8 l% P( V4 Y J7 d1 Z$ g4 ]5 C0 v
图片3: 加密后文本
. @7 s9 m/ n- o* p* ~/ R9 s& e* S3 }# A, M/ a) A1 K
服务器收到的是:
- T7 g+ k% p4 V+ o4 oParameters: {"authenticity_token"=>"/go+Dm9e7V5uWTqdPQOQ8CrsIBNag7a77/KNQNFCeBRrdTvVzHbxoc2WJb2XA4Z4e3wi5GkAvaI4ahFPryq2yw==", "title"=>"第一篇日记", "date"=>"2021-04-15", "content"=>"U2FsdGVkX18Qo7jf6y1hpeVjApkbiox1A+vdQFF4LVlke39DYte1pRAs+UdKA9W5", "commit"=>"修改", "locale"=>"zh-CN", "table_slug"=>"pl2e", "id"=>"1"} |
评分
-
查看全部评分
|