TA的每日心情 | 奋斗 2021-4-20 05:43 |
|---|
签到天数: 300 天 [LV.8]合体
|
本帖最后由 可梦之 于 2021-4-15 18:10 编辑 # y2 P# H4 t3 t$ S4 K, f$ r- \
7 ~. {: l. P7 z1 U1 Y8 D我们生活在云时代,数据安全越来越重要。HTTPS解决了传输过程中安全问题,但是我们的数据对服务器端还是透明的。包括我们的密码,服务器想把明文存下来技术上没任何问题,主要取决于网站的人品。, M5 \ J3 i/ `( E! x3 l! x9 C
+ B1 X/ ]# F `" \% a9 V如果想让数据对服务器不可见,就需要客户端加密。著名的TG就支持端到端加密,当然各国政府都反对。
* w0 v. S7 w6 o- g+ D1 e! b
& |- ~( a0 R1 P最近学习了一下,用JS做客户端加密,加密之后的数据再传给服务器,这样服务器都不知你的内容是什么。当然,如果密码忘记了,谁都帮不了你了。* U# W5 G: c# R8 j- F( G* E- _! W
7 v5 z7 F1 \9 T/ T1 G) g2 X
我用的是crypto-js里的AES算法。JS是脚本语言,谁都可以看到源代码,想搞猫腻都不容易。0 I/ c* p- K% v7 e4 H# Z2 u
6 H1 i! _9 G8 H6 {5 ~5 T3 `% f) N* _* R9 ^+ H
图片1: JS代码
1 A, x* I% Z/ q {4 X% k图片2: 原始文本: S& z4 {! c; h5 Q
图片3: 加密后文本; X. t7 Z& x+ H1 |% q. A
# S+ ]) S4 b# W( q, b3 U' j( n. v服务器收到的是:% ~$ n, B. G1 g: r
Parameters: {"authenticity_token"=>"/go+Dm9e7V5uWTqdPQOQ8CrsIBNag7a77/KNQNFCeBRrdTvVzHbxoc2WJb2XA4Z4e3wi5GkAvaI4ahFPryq2yw==", "title"=>"第一篇日记", "date"=>"2021-04-15", "content"=>"U2FsdGVkX18Qo7jf6y1hpeVjApkbiox1A+vdQFF4LVlke39DYte1pRAs+UdKA9W5", "commit"=>"修改", "locale"=>"zh-CN", "table_slug"=>"pl2e", "id"=>"1"} |
评分
-
查看全部评分
|