TA的每日心情 | 奋斗 2021-4-20 05:43 |
|---|
签到天数: 300 天 [LV.8]合体
|
本帖最后由 可梦之 于 2021-4-15 18:10 编辑 . q$ T$ N7 n! y$ x- D. k% \# h
% S' C+ w' a: S) s/ s6 P* h我们生活在云时代,数据安全越来越重要。HTTPS解决了传输过程中安全问题,但是我们的数据对服务器端还是透明的。包括我们的密码,服务器想把明文存下来技术上没任何问题,主要取决于网站的人品。
3 x% v1 G" V7 P" m3 y) }
/ g D6 l/ ~/ \0 c: L% b如果想让数据对服务器不可见,就需要客户端加密。著名的TG就支持端到端加密,当然各国政府都反对。
9 Q# e% I( S( q: H4 a, S8 O# x1 m0 g+ Z5 _
最近学习了一下,用JS做客户端加密,加密之后的数据再传给服务器,这样服务器都不知你的内容是什么。当然,如果密码忘记了,谁都帮不了你了。
5 D: f5 C; J! J# k: y
- R3 t6 K, j+ U& w/ F我用的是crypto-js里的AES算法。JS是脚本语言,谁都可以看到源代码,想搞猫腻都不容易。
4 }2 U+ V2 p0 U- G6 \5 @
a0 O0 ?$ q ?* a& d8 p
# r) F5 M+ g1 @) t' P8 D$ k图片1: JS代码
: u$ G5 |' I r/ I# }6 ]图片2: 原始文本( e: L7 L" h: r- x& Z# j! k3 D/ P
图片3: 加密后文本* ]! q* {2 T% p' G6 f
1 x# C$ W8 R$ I- |1 @9 I0 h' a服务器收到的是:
9 z+ B9 u- c) @4 MParameters: {"authenticity_token"=>"/go+Dm9e7V5uWTqdPQOQ8CrsIBNag7a77/KNQNFCeBRrdTvVzHbxoc2WJb2XA4Z4e3wi5GkAvaI4ahFPryq2yw==", "title"=>"第一篇日记", "date"=>"2021-04-15", "content"=>"U2FsdGVkX18Qo7jf6y1hpeVjApkbiox1A+vdQFF4LVlke39DYte1pRAs+UdKA9W5", "commit"=>"修改", "locale"=>"zh-CN", "table_slug"=>"pl2e", "id"=>"1"} |
评分
-
查看全部评分
|