首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  程序员

分享一下有没有什么 js 加密方案?

  •  
  •   yitd · 48 天前 · 3325 次点击
    这是一个创建于 48 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在线加密的也可以 有源码 php asp 可以直接加密每次输出不一样的就更好了

    国内的几大 js 加密网站就不用了

    各位大佬有什么私藏的分享一下?

    32 回复  |  直到 2019-10-28 15:07:33 +08:00
        2
    hackyuan   48 天前 via iPhone
    你可以用 flex 写。正常的只可以混淆,可能 wasm 可以做到。对这块不了解。
        3
    yitd   48 天前
    @hackyuan 自个儿会写就不会在此求助了┭┮﹏┭┮
        4
    wunonglin   48 天前   ♥ 4
    没有且没有任何意义。

    如果你的代码有破解的价值,别人破解也就一会的事,如果没有价值,连看的人都没有,何必“加密”
        5
    araaaa   48 天前 via iPhone
    aaencode jjencode
        6
    yitd   48 天前
    @wunonglin 要求不高 一般人看不懂就行了
        7
    wunonglin   48 天前
    @yitd #6 看不懂那就 webpack 打包一下就好了啊
        8
    xiangyuecn   48 天前
    装上 nodejs,用 uglify-js 混淆一下就 ojbk 了,不但一般人看不懂,大部分人也不会去看,因为懒得看这种混淆过的代码😂

    https://github.com/xiangyuecn/Recorder/blob/master/src/package-build.js
    ......./package.json
        9
    orzorzorzorz   48 天前
    前端都是明文,要加密都是些治标不治本的方法,何苦费那个脑子。有这闲心不如上 https,然后在行为上约束用户、在数据上不留空隙
        10
    hkitdog   48 天前 via iPhone
    关键代码用 C++写
        11
    Curtion   48 天前
    @yitd #6 如果只是要求一般人看不懂那么压缩加混淆就够了,他格式化出来也得猜变量的作用
        12
    gamexg   48 天前
    webassembly
        13
    fengxianqi   48 天前 via Android
    加密这种需求还是有的,特别是 zf 类网站,别说什么好破解的话等于不加,至少安全大佬不让你过,有些甚至要求用上国密,如 sm2
        14
    areless   48 天前 via Android
    前端加密算法都能看到~~~随便谁都能解出来的。写在 js 里没有意义的。所以很多人在寻求一种在前端加密,算法跟秘钥都写在里面却不能被破解的方案。就算每次创建新秘钥设定过期,也避免不了被重用。有一个方案是这样,用 js 产生随机值去调用不同的加密算法~~~算法上千种,js 库特别大,随机载入~~~核对一个编号。js 解密库天天更新编号~~还是会被重用吧。所以前端加密利用图形加密,这种貌似可以做到端对端信任~~~截获也不能被重用。
        15
    gogo2   48 天前 via iPad
    现在流行的加密是把代码变成一行代码,搞出无数个 a b c d e f 小函数, 最后一句调用,
    可读性很差,这些对高手都不是问题,chrome 的调试器已经很强大了,
        16
    0o0O0o0O0o   48 天前 via iPhone
        17
    mamahaha   48 天前
    这种加密解密的解释器只能靠自己做了,如果有产品,那很快就会被破解掉,那你做的东西就白做了。
        18
    YenvY   48 天前 via Android
    把标题改成混淆就没这么多人跟你杠有用没用的了
        19
    zy445566   48 天前 via Android
    可以用 QuickJS 编译 js 到可执行文件
        20
    zy445566   48 天前 via Android
    不过上面只能编译纯 js,node 和前端功能貌似不支持
        21
    unicloud   48 天前 via iPhone
    要求不高的话,uglify js 就行了
        22
    hakono   48 天前 via iPhone   ♥ 1
    说前端加密没意义的太过以偏概全了
    世上没有不能破是加密,加密的意义就是让破解成本超出破解得到的利益

    混淆这个治标不治本,有耐心的总归可以一点点磨掉你的代码,破解技术门槛并不高

    前端加密的真正方法还是得靠 emscripten 或 webassembly,这两者让破解前端代码的难度从谁都可以上去搞的等级变为了和破解普通编译好的 exe 程序一个等级了,这就是一个非常大的技术门槛了
    而且反向 exe 现在已经有各种成熟的工具了,但前端什么都没有。你只能用浏览器自带的那个垃圾得不行的开发工具去调试代码(为什么说那玩意垃圾,单个 js 的代码体积稍微大一点比如 4MB 以上直接彻底卡死,所有浏览器都一样。所以保护你代码最简单的方法是什么?往你的 js 里塞入巨量的无意义代码,塞到至少 7mb 然后混淆,这样你的代码就没有任何人能破解的了因为他们调试器都启动不了,不要担心性能问题现代的浏览器能 hold 住的)
    如果想搞的更彻底,那 exe 开发中能用到的一切方法比如加壳,vm 都可以通过 webassembly 在前端中实现,目前的反向难度只会比反向 exe 更大,因为 xs 现在哪垃圾调试器根本做不好



    https://www.v2ex.com/t/516970#reply25

    我之前的这个帖子可以看一下

    现在针对
        23
    snowydec   48 天前
    。。。
        24
    buhi   48 天前
    与其前端加密, 不如你把你需要加密的逻辑放在后端的服务里面.
    如果放前端
    就说明你的逻辑没有加密的价值
        25
    zhuangzhuang1988   48 天前
    用 scala.js, clojurescript 编译后的 js
        26
    jinliming2   47 天前 via iPhone
    破解你前端代码的意义在于什么?
    比如 16 楼贴的链接里的视频加密防盗?
    这种不管你用什么加密方案,我甚至不需要对你的代码解密,只要找到 js 调用的入口点,然后把你整个加密过的代码拿走用就行了……
    毕竟破解你的代码实际上只是想要你的功能,具体逻辑是什么其实也不是很关心的……
    你的功能被加密混淆在代码里了,那我就把整个代码复制走,当个 lib 库来用就好了啊!
    其他的 WebAssembly 之类的也是同理,你打包成 wasm 了又如何?我直接拷走你奈我何?

    除非是想要破解你的代码逻辑……
    但是对于想要改你代码逻辑的人,你觉得他的能力水平会搞不定你的前端加密?
        27
    DT27   47 天前
    https://github.com/travist/jsencrypt
    OpenSSL RSA 加密解密。
    我的方案是 js 用公钥加密,后台动态语言用私钥解密。
        28
    crab   47 天前
    JSFuck
        29
    xiaomingVTEX   47 天前
    知乎看见过, 有个专门提供 js 加密的,
    [securitify.io](securitify.io)
        31
    wanguorui123   47 天前
    CryptoJS
        32
    Nazz   46 天前
    前端逻辑全用 WASM 满足你的需求
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2270 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 40ms · UTC 04:31 · PVG 12:31 · LAX 20:31 · JFK 23:31
    ♥ Do have faith in what you're doing.