TA的每日心情 | 奋斗 2021-4-20 05:43 |
|---|
签到天数: 300 天 [LV.8]合体
|
本帖最后由 可梦之 于 2021-4-15 18:10 编辑
0 w( _' F' [1 O, ~0 }
1 k: }" v) P. K/ t0 {我们生活在云时代,数据安全越来越重要。HTTPS解决了传输过程中安全问题,但是我们的数据对服务器端还是透明的。包括我们的密码,服务器想把明文存下来技术上没任何问题,主要取决于网站的人品。
6 \% A3 ], L0 k( G5 k7 L
, ^- ]0 K5 f% `- n/ Q4 f Y% D如果想让数据对服务器不可见,就需要客户端加密。著名的TG就支持端到端加密,当然各国政府都反对。
, m& e2 a4 S7 ^( U: z( k" k/ ]6 H7 \
2 }9 f% c- ?3 h. T0 ~最近学习了一下,用JS做客户端加密,加密之后的数据再传给服务器,这样服务器都不知你的内容是什么。当然,如果密码忘记了,谁都帮不了你了。
( ?2 j, c# r. O( u9 p. g; p
2 o# A" z4 L! r我用的是crypto-js里的AES算法。JS是脚本语言,谁都可以看到源代码,想搞猫腻都不容易。
( Z3 x& T- G* N% L9 I3 W# e( m- n, _8 W' w, N3 \
5 H4 B$ n: E z0 e2 Z/ Q图片1: JS代码
V$ v8 [5 G% w图片2: 原始文本' ]* m6 v8 B" c0 k7 k3 p; s' Z
图片3: 加密后文本
3 I7 a& q' N" g' ^5 F% @$ Q; S, _: B* ^) C- e: a% R+ U
服务器收到的是:0 J; v. R& n! w! ^# V
Parameters: {"authenticity_token"=>"/go+Dm9e7V5uWTqdPQOQ8CrsIBNag7a77/KNQNFCeBRrdTvVzHbxoc2WJb2XA4Z4e3wi5GkAvaI4ahFPryq2yw==", "title"=>"第一篇日记", "date"=>"2021-04-15", "content"=>"U2FsdGVkX18Qo7jf6y1hpeVjApkbiox1A+vdQFF4LVlke39DYte1pRAs+UdKA9W5", "commit"=>"修改", "locale"=>"zh-CN", "table_slug"=>"pl2e", "id"=>"1"} |
评分
-
查看全部评分
|