问题标签 [license-key]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4822 浏览

c# - C# 类库的开发/运行时许可机制?

我正在开发一个 .Net 类库(一个数据提供者),并且我开始考虑如何将库许可给潜在购买者。通过许可,我的意思是试图防止我的库被那些没有购买它的人使用的机制,而不是软件许可(即 Apache、Gnu 等)。

我从来没有处理过许可问题,在过去,我一直在开发应用程序,而不是库。我不想让我的客户为难;知道不可能让它成为铁定的。只是一些机制可以为我提供体面的保护,而不会让客户跳槽或咬牙切齿。

我认为当类在开发模式下使用时,该机制会检查有效的许可证,而不是在运行时模式下(当客户的软件发布给他们的客户时)。我认为库通常是按开发人员出售的,但我不确定如何在不使这种机制对我的客户感到厌恶的情况下实现这一点;也许这会留给荣誉系统。

我用谷歌搜索了这个并找到了很多方法。理想情况下,我想做一些被普遍接受和普遍的事情,如果存在的话,类库的“正确”方式是许可的,而不是让我的客户处理另一种许可机制。坚定地朝着正确的方向前进将不胜感激!

0 投票
2 回答
671 浏览

macos - 创建mac软件激活

我即将为 mac 编写一个杀手级应用程序,但是我想为这个收费,因为没有很多像这样的应用程序。所以我正在考虑使用某种激活或许可证密钥。我环顾四周,但有关如何做到这一点的细节相对稀缺。我怎样才能以一种既易于在我的软件中实现,又不需要我在我的服务器上运行软件或依赖其他公司在他们的服务器上运行它的方式来做到这一点,但是如果我必须我会。我不想要任何需要我付钱给某家公司为我做的事情,贝宝会得到足够大的削减,我不希望另一家公司削减。

0 投票
1 回答
1368 浏览

c# - 使用 C# 从 RLM 读取许可证文件(C++ 到 C# 的翻译)

我正在使用 Reprise RLM 许可证管理器研究 Internet 激活。我不知道如何使用 C# 将许可证文件从网络服务器获取到文本文件中(我对 C# 也很陌生)。

RLM 附带了一个 C++ 示例,但我无法翻译它。

我的代码(用于演示)如下所示:

rlm_act_request建立并验证连接。建立后,如何访问该文件并将其写入本地文件?

该 if 语句中的任何内容的 C++ 代码如下:

什么是 C# 等价物?

0 投票
4 回答
2550 浏览

vb.net - 为使用 vb.net 开发的软件生成密钥

大家好,我用vb.net开发了一个工资计算软件……它工作正常,我已经将它转换为exe文件……我的缺点是它可以很容易地复制和粘贴到另一个系统中……我想为 exe 文件生成一个密钥,并且在安装密钥时应该使用该密钥,并且在安装完成后,该密钥不应该再次使用......这是安全的还是给我一些想法如何完成。 ...

0 投票
2 回答
715 浏览

visual-studio-2008 - 处理 Visual Basic 2008 许可的代码

是否有可用于许可我的 Visual Basic 2008 应用程序的许可证?像 .Net Reactor 这样的人需要输入许可证密钥。有什么建议吗?

谢谢,

凯文。

0 投票
7 回答
2935 浏览

security - 我可以在 1 天内自行开发的最简单的许可证密钥生成器是什么?

这只是为了保持诚实的客户诚实。

0 投票
4 回答
22953 浏览

c# - 如何创建序列号生成器?

如何对序列号生成器进行编程,以便为某些现有软件生成序列号?

0 投票
7 回答
1708 浏览

c# - 我可以使用程序集 PublicKey 来解密使用相应 PrivateKey 加密的字符串吗?

在 .NET 中对程序集进行签名涉及公钥/私钥对。据我所知,.NET 使用 RSA 算法和私钥对程序集进行签名,并使用嵌入的公钥对其进行检查。

我知道如何检索公钥 ( Assembly.PublicKey)。我想知道,是否可以使用该密钥来解密包含一些用私钥加密的数据的短字符串。

到目前为止我读过的文档(例如)似乎暗示只有相反的方式是可能的:我必须使用公钥加密和私钥解密 - 但我真的不想包括在大会上,我做。

我想没关系,如果我只是签署了字符串。但是怎么做?

我有点不知所措如何开始。有人有代码片段吗?

此外,理想情况下,小字符串的加密/签名将在 PHP 中进行,因为我想将其卸载到 Web 服务器,而到目前为止我们所拥有的只是您的通用 PHP/MySQL 托管网站。

用例:我正在尝试为我们即将发布给 beta 测试人员的软件提出一个轻量级的许可方案。由于该软件可能是免费软件,我们真正想要实现的是

  1. 知道谁安装了软件(电子邮件地址)
  2. 让软件在给定期限后过期,之后用户必须获得新的许可证
    • 这就像填写表格并等待带有密钥的自动电子邮件到达一样简单
    • 我们正在努力减少旧版本回来损害我们声誉/困扰我们的可能性

能够加密元组(到期日期、指纹)并在启动时对其进行解密将使许可模块变得简单:第一次启动应用程序时,会要求用户提供电子邮件地址、姓名、组织。此信息与一些系统信息(nic、计算机名称、程序集主要和次要版本)的 md5 指纹一起发布到网络服务器。网络服务器通过电子邮件回复(检查电子邮件地址的有效性),并使用加密版本的元组(到期日期、指纹),然后将其保存到磁盘。在启动时,可以将其解密并与当前日期和重新生成的指纹进行比较。

编辑:好的,所以我还没有我的问题的所有答案。但看起来 .NET 不会让使用私钥进行加密变得容易(如果可能的话,答案并不真正同意这一点)。

我将采取的路线是这样的(基于我的用例):

  • 我将使用私钥签署许可证。
  • 我将使用公钥来验证许可证是否由私钥签名
  • 我将发布另一个针对 PHP 开发人员的问题,关于如何使用 .NET 密钥(由 生成sn.exe)来签署一些文本
  • 我并不真的担心用户看到许可证,因为它无论如何都是一个哈希值,并且是根据他已经知道的东西计算出来的。我想要的只是让典型的建筑建筑师在我不知情的情况下复制我的软件变得太难了(请记住,该软件将是免费软件 - 我想要的只是谁安装了它的书面记录...... )

非常感谢您的回答。

0 投票
4 回答
3324 浏览

c++ - 如何防止文件被篡改

我想将机密数据存储在数字签名文件中,以便知道其内容何时被篡改。

我最初的想法是数据将存储在 NVP(名称值对)中,并带有某种 CRC 或其他校验和来验证内容。

我正在考虑使用 ANSI C++ 实现此类文件的创建(即写入)和验证(读取)。

假设这是我要存储的数据:

[在我阅读了对这个问题的一些回复之后]

从我目前收到的评论来看,我担心人们会被“许可”这个词所吸引,这对大多数人来说似乎是一个危险信号。我怀疑可能是这样,但在当今高度安全和普遍紧张的气氛中,我想我最好详细说明我需要“隐藏”的内容,以免有人认为我正在考虑将“Nuke 密码”传递给某些人恐怖分子什么的。我现在将从我的问题中删除“许可证”一词。

更多地将其视为技术问题。想象一下,我是一名学生(我就是这样),并且我正试图找出有关对需要安全的信息进行编码的推荐(或最佳实践)。

考虑到上述情况,我将重新格式化我的问题:

  1. 给定一个不同数据类型字段的结构,什么是“推荐”算法来给它一个“合理安全”的加密(我仍然更喜欢使用 128 位 - 但这只是我)
  2. 对加密数据提供ROBUST检查的推荐方法是什么,以便我可以使用该检查值来了解文件的内容(加密数据的有效负载)是否与原始内容不同。?
0 投票
3 回答
7470 浏览

c++ - 如何获得真正的硬件 MAC 地址

我知道,这个问题被创建了很多次,但它仍然是开放的

问题如下:

我的应用程序需要为计算机生成一些 UID,它正在运行。我需要它来实现真正的保护。

MAC 地址是一个很好的候选者,因为它对于每个以太网卡都是唯一的。

许多文章使用 GetAdaptersInfo、WMI、NetBIOS 或套接字。

这是其中之一:获取 MAC 地址的三种方法。

他们,支持,返回一个 MAC 地址,但是这个地址可以从适配器属性中手动设置

所有提到的方法都不符合我的需要,因为使用驱动程序设置的 MAC 地址比真正的硬件 MAC 地址具有更高的优先级。我知道,所有 Win API 函数都会返回这个“假”地址,因此,真正的保护很容易被打破。

伙计们,您的任何帮助将不胜感激。

谢谢。