TA的每日心情 | 奋斗 2021-4-20 05:43 |
|---|
签到天数: 300 天 [LV.8]合体
|
本帖最后由 可梦之 于 2021-4-15 18:10 编辑
" ~) i5 H8 |/ R8 G+ ]1 g! Q
" P- K! p2 t0 x( ^. ~4 S我们生活在云时代,数据安全越来越重要。HTTPS解决了传输过程中安全问题,但是我们的数据对服务器端还是透明的。包括我们的密码,服务器想把明文存下来技术上没任何问题,主要取决于网站的人品。% ?( M4 D+ z9 N5 @
6 e# O# J% Z6 m/ G
如果想让数据对服务器不可见,就需要客户端加密。著名的TG就支持端到端加密,当然各国政府都反对。
2 P, E/ @' V( r! C* `3 @2 i2 Y8 t+ U7 H- u' o# ? G
最近学习了一下,用JS做客户端加密,加密之后的数据再传给服务器,这样服务器都不知你的内容是什么。当然,如果密码忘记了,谁都帮不了你了。
* z* m4 _5 c1 C! _ z( p' R4 T
" f9 y% _5 p2 E5 a$ j7 N我用的是crypto-js里的AES算法。JS是脚本语言,谁都可以看到源代码,想搞猫腻都不容易。
6 [( @2 J2 L( U7 H* k9 O9 i3 G0 @4 A! x- _- [5 z
5 D1 H3 h/ W% E图片1: JS代码
- `( R/ |6 S& D8 J; v' z图片2: 原始文本( y1 [/ K6 b) ]) r) X' W7 O( A
图片3: 加密后文本
7 j7 F' k7 g" W2 {9 [' B- T
7 X3 b5 Y5 X8 f服务器收到的是:
3 e/ j; g1 h' }( eParameters: {"authenticity_token"=>"/go+Dm9e7V5uWTqdPQOQ8CrsIBNag7a77/KNQNFCeBRrdTvVzHbxoc2WJb2XA4Z4e3wi5GkAvaI4ahFPryq2yw==", "title"=>"第一篇日记", "date"=>"2021-04-15", "content"=>"U2FsdGVkX18Qo7jf6y1hpeVjApkbiox1A+vdQFF4LVlke39DYte1pRAs+UdKA9W5", "commit"=>"修改", "locale"=>"zh-CN", "table_slug"=>"pl2e", "id"=>"1"} |
评分
-
查看全部评分
|