V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
smallyin
V2EX  ›  算法

[算法]求助简易算法,擅长算法的 v 友看过来

  •  
  •   smallyin · 2018-01-25 10:09:38 +08:00 · 3157 次点击
    这是一个创建于 2493 天前的主题,其中的信息可能已经有所发展或是发生改变。

    万能的 v 友,求助~先谢谢大家~

    需求:web 项目后端有一些数据,要发给前端,发送前用 java 加密(比如一些简单的移位运算等),在前端用 js 解密还原数据。

    希望:算法看起来复杂一点(能把破解算法的人看晕的那种),数据体积不要增加太多~

    说明:我明白后端加密前端解密根本没意义,稍微懂点技术的,debug 一下就能破解,但是老大说还是不想数据让人一眼就看出来,所以这里只需要增加点破解成本~

    有擅长算法的同学,求助,谢谢啦~

    9 条回复    2018-01-25 13:20:04 +08:00
    shd
        1
    shd  
       2018-01-25 10:29:11 +08:00   ❤️ 1
    js 混淆
    whypool
        2
    whypool  
       2018-01-25 10:58:07 +08:00   ❤️ 1
    base64 就行;
    增加点难度就是后端在转成 base64 之后随机加几个字符串,前端解 base64 的时候去掉随机加的字符串,至于这个字符串是啥,可以前后端约定好基本就是硬编码了或者直接给前端;
    其实意义也不大,懂的基本 debug 就能拿到数据;不看代码的话,这样基本可以保护 base64 数据
    smallyin
        3
    smallyin  
    OP
       2018-01-25 11:05:31 +08:00
    @shd 是一个读取 json 数据的接口,前端从接口获取数据再解密~

    @whypool 嗯,你说的方法可以一试,不过好像 base64 会增大 1/3 的体积,会不会有点浪费~哈哈
    glasswm
        4
    glasswm  
       2018-01-25 11:36:09 +08:00   ❤️ 1
    异或个复杂的 key,key 生成的方式把人绕晕
    smallyin
        5
    smallyin  
    OP
       2018-01-25 11:39:16 +08:00
    @glasswm 有道理,印象中好像见到过一下这种做法的,试试吧~谢谢~
    hand515
        6
    hand515  
       2018-01-25 11:42:48 +08:00   ❤️ 1
    protobuf
    smallyin
        7
    smallyin  
    OP
       2018-01-25 13:02:50 +08:00
    @hand515 谢谢,我了解一下
    vegito2002
        8
    vegito2002  
       2018-01-25 13:16:16 +08:00   ❤️ 1
    搜索 one-time pad, 感觉适合你的需求, 大概意思跟上面的长 xor 一个意思;
    smallyin
        9
    smallyin  
    OP
       2018-01-25 13:20:04 +08:00
    @vegito2002 谢谢提供关键词,哈哈,确实是你说的这样,xor 就可以,但是要发实现过程写的复杂些更好~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5628 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:30 · PVG 14:30 · LAX 22:30 · JFK 01:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.