当前位置: 首页 > 知识库问答 >
问题:

java - 咨询下如何保护Springboot应用的商业权益,通过核心加密的方式?

柴翰藻
2024-07-03

我是这样的需求,开发了一款Java+Springboot线上教育应用,有部分客户购买程序需要二开,这就需要交付源代码给客户,但是源代码全部交付给客户的话真的是难以想象客户拿到源代码之后是否会泄露(不管是主动的还是被动的)以及客户自己多次二次销售导致我们间接受损。

我的想法是交付给客户95%的源代码,这个程序不影响客户的业务二开,但是另外5%的核心代码加密并绑定机器或者域名,这样的话既能满足客户的二开需求也解决了客户二次分发的隐患。但是调研一番没有找到关于这个核心加密的成熟的方案,遂在这里咨询各位大神,是否有成熟的方案推荐,付费的商业方案更好。

共有1个答案

束新
2024-07-03

将你们的代码分为两份,核心代码+非核心代码,非核心代码是可以直接源码方式给予客户的,核心代码以类似插件的形式给予客户,该插件中实现你们需要的绑定功能,然后插件被非核心代码以插件的形式引入并调用。

这个方法代价就是:1、需要将核心代码与非核心代码剥离开。2、开发插件机制,包括非核心代码的调用端,核心代码插件的被调用端。3、最终插件打包时使用成熟的加密方案(市面上很多)。

要注意,你们这个问题并不是单纯需要加密的成熟方案,甚至加密方案不是关键。

 类似资料:
  • 我正在使用AES加密实现一个加密字符串的程序,并希望将我的“密钥”保存在一个文件中,而不是在源代码中硬编码。 但是,这给我带来了一个问题,我如何保护这个秘密密钥不被他人看到? 如果我要再次加密这个“密钥文件”,我将不得不再次处理同样的问题。 我该如何处理这些问题? 参考:https://wiki.sei.cmu.edu/confluence/display/java/MSC61-J.不要使用不安全

  • 问题内容: 前一段时间,在我的工作中,我需要保护某些类以防他人读取代码。为此,我创建了一个EncryptedClassLoader,它加载了以前加密的类,并且还可以加载普通(未加密)的类。以这种方式工作有点复杂,并且也要进行测试(编译,然后加密,然后解密)。 是否有任何免费的框架可以满足我的需求,并且易于处理?我的意思是,不仅混淆而且还加密文件,因此没有人可以读取或调试该部分代码。我可以轻松更改用

  • 商品咨询: 一、买家购买商品时对商品的咨询。 商品咨询的具体操作: 第一步:点开某个商品找到我要咨询点击。 第二步:选择咨询类型。 第三步:添加咨询内容。 第四步:输入验证码后点击我要咨询。 二、商品咨询在后台的具体操作: 1、未回复咨询:指卖家对咨询客户没有做出回复,不会出现回复内容。 2、已回复咨询:指卖家对咨询客户已经做出回复,会出现回复内容。 3、高级搜索:可以对咨询客户所咨询的商品名称、

  • 目前我有一个使用msal对用户进行身份验证的react前端。js(Azure AD B2C)。后端API是用.NET Core构建的,目前任何人都可以访问。 我想保护API,这样只有在前端经过身份验证的用户才能访问API。 有没有关于如何实现这一点的文档/示例应用程序?

  • 本文向大家介绍在SpringBoot中通过jasypt进行加密解密的方法,包括了在SpringBoot中通过jasypt进行加密解密的方法的使用技巧和注意事项,需要的朋友参考一下 1.用途 在SpringBoot中,通过jasypt可以进行加密解密. 这个是双向的, 且可以配置密钥. 2.使用: 2.1通过UT创建工具类,并认识jasypt 可以看出, 每次生成的密码是不一样的, 但是通过密钥,可

  • 1.如果遭到用户恶意评价或投诉如何处理? 可以打开【后台-商品-商品评价】对评论内容选择性进行回复、隐藏或删除。 2.自己可以写评价吗?最多可以写几条? 系统会默认评价,默认是一个订单一个评价。

  • 问题内容: 我有一个密码保护Excel文件的问题。 情况是,我有一个zip文件,其中有一个Excel文件。我需要编写一个Java程序,以密码保护Excel文件。因此,用户应该能够解压缩文件(压缩文件无需密码保护)。但是,Excel需要使用密码保护。当用户尝试解压缩文件时,他应该能够解压缩。当他尝试打开Excel文件(位于解压缩的文件夹内)时,它必须要求输入密码。问题类似于使用Java保护excel

  • 我试图把我的头缠在这个问题上2天现在,我找不到任何正确的解决方案在网上和论坛上这个问题。 我无法使用@login\u required decorator在flask应用程序中保护dash应用程序。我可以使用blueprint route中的@login\u调用dash应用程序,以确保其安全并将其重定向到dash应用程序。 但是如果我直接调用dash-applike_localhost:5000/