问题标签 [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 回答
1288 浏览

android - 如何使用公共加密来管理 Android 应用程序的许可?

我不想在 Android Market 上发布我的应用程序,但我会根据用户设备的 MAC 地址从我的网站创建一个许可证密钥。它还应包括到期日期。一旦用户在 android 设备中输入代码,它应该被识别。我读过它可以通过使用自定义公共加密来完成。在这种情况下,我应该实现:

  1. 我的应用程序中的一个函数,它获取设备的 MAC 地址并向用户显示一个字符串。
  2. 我网站上的一个函数,它拥有私钥并在第 1 点加密字符串。并添加到期日期
  3. 我的应用程序中的一个函数,它在第 2 点解密字符串。使用公钥并验证许可证密钥。

我已经阅读了很多关于 stackoverflow 和其他网站的讨论,但没有任何适用的......或者不清楚如何在我的场景中应用:(

你能给我提供解决这个问题的方法吗?有没有我想念的android原生的东西(我希望)?

非常感谢!马可

0 投票
1 回答
794 浏览

biztalk - BizTalk Server 2010 - 可以更改许可证密钥吗?

是否有直接的方法来更改 BizTalk 的许可证密钥?我说的是 2010 年,但如果适用,也欢迎提供其他版本的信息。

我唯一能想到的就是搜索注册表,这似乎与危险作斗争。

有人遇到过这个吗?

0 投票
1 回答
193 浏览

perl - 是否有现成的开源软件用于生成用户可定义数字基数的序列号?

是否有现成的开源软件用于生成用户可定义数字基数的序列号?

最好使用 Perl 或类似的脚本语言。

0 投票
3 回答
2964 浏览

c# - 在多个文本字段上粘贴序列号

在我的应用程序中,用户可以使用 32 个字符的序列号升级他们的产品(从试用版到完整版)。

为了让我的(付费)客户尽可能方便用户使用,我希望能够复制和粘贴该系列。

我希望我的客户将光标放在许可证下的第一个字段中,当用户粘贴 32 个字符的许可证时,我希望它填充所有字段。

我不知道从哪里开始,所以如果你能指出我正确的方向,那就太好了。

0 投票
1 回答
831 浏览

xml - 在 XML 中生成带有内置到期日期的简单许可证 - 我这样做对吗?

我目前正在开发简单的应用程序(如果相关,在 Actionsript 3 中),我想构建一个基于 XML 文件(将由 PHP 脚本生成)的简单注册系统,这将使我的文件“过期”在某个日期之后。

对我来说,这个系统看起来不错,但我希望专家的意见,以防我遗漏了一些明显的东西——或者我完全错了。

根据我在 stackoverflow 和其他网站上阅读的内容,我提出了以下 XML 结构:

<SERIAL> 字段实际上是构成许可证的所有项目的简单 MD5 散列,并添加了“盐”(这是保密的),以防止用户生成自己的 MD5 散列。“解密”许可证如下所示:

运行时,我的应用程序将加载 XML 数据,添加“盐”并从中计算 MD5。然后它将生成的 MD5 散列与存储在 XML 中的散列进行比较。不匹配的散列表示篡改 XML 文件。并且可以将来自 XML 的加载日期与当前日期进行比较,以确保应用程序没有过期。

我知道 MD5 不是那么安全,等等,但我并没有用它来保护核筒仓,所以我愿意以安全性换取速度和简单性。我试图在几个在线 MD5 反向查找中反转从源字符串获得的 MD5,但到目前为止它们都失败了。

最后,我知道我必须将“盐”存储在应用程序的某个地方,但我想任何人真正决心对它进行逆向工程都会破坏我无论如何都会安装的任何系统,所以我可以忍受主意。

0 投票
3 回答
5211 浏览

java - 适用于 Java 的 USB 软件保护加密狗,带有一个“真正”跨平台的 SDK。它存在吗?

我想问的是,是否有人知道用于软件保护的硬件 USB 加密狗,它为跨平台 Java 部署提供了非常完整的开箱即用 API 支持。

它的 SDK 应该提供一个 jar(每个操作系统和位数只有一个,而不是一个不同的库)准备作为库添加到一个项目中。

  • jar 应该包含各种操作系统和位数的所有本机内容
  • 从应用程序的角度来看,应该继续编写(api 调用)一次并在任何地方运行,而不必关心最终用户将在哪里运行软件
  • 提供的 jar 本身应该处理加载适当的本机库

这样的事情存在吗?

到目前为止我已经尝试过,你有不同的 API 和为 win32、linux32、win64、linux64 等编译的库(或者你甚至必须在目标机器上自己编译东西),但是嘿,我们在这里做 Java ,我们不知道(也不关心)程序将在哪里运行!

而且我们不能指望最终用户成为软件工程师,调整(并破坏!)它的 linux 服务器、链接库、弄乱 gcc、乱扔文件系统等等......

一般来说,Java 支持(以透明的跨平台方式)对于我目前评估过的加密狗 SDK(例如 KeyLok 和 SecuTech 的 UniKey)来说非常糟糕。我什至购买了(没有可用的免费评估套件)SecureMetric SDK 和加密狗(根据营销材料,它们应该是“soooo”直接集成的:\),它们是有史以来最糟糕的:SecureDongle X 不支持 64 位,而 SecureDongle SD 是根本不是跨平台的。

那么,有没有人经历过这个并找到了用于跨平台部署的终极 Java 安全 USB 加密狗?

注:软件是小批量、高价值的;应用程序处于离线状态(无法访问互联网的内联网),因此没有在线激活替代方案等。

- 编辑

试用了 HASP 加密狗(以前称为“Aladdin”),并将它们添加到禁止列表:这里也没有开箱即用(out-of-the-jar)支持:例如end-linux-user 必须手动将 .so 库(适当位数的特定文件)放在他的文件系统上的正确位置,然后导出一个 env。相应地变化。

0 投票
1 回答
1546 浏览

android - Android:UUID 和许可

我正在寻找最有效的方法来创建一个具有 30 天试用期的应用程序,然后如果他们喜欢演示的功能,则强制用户购买完整的付费版本。

我一直在寻找建议作为实施应用程序许可证的最佳方式。以下是我的一些想法:

-Sharedprefs - 在用户卸载并重新安装应用程序之前,这将一直有效。试用期将基本上重新开始。

- 使用设备 ID - 我想我可以获取设备序列号并将数据上传到服务器。然后我遇到了http://android-developers.blogspot.com/2011/03/identifying-app-installations.html,它显示了尝试获取设备用户 ID 的问题。

UUID——这似乎是最好的选择。但是,有人能给我概述一下如何实现它以及它是如何工作的。还有什么限制。

0 投票
1 回答
4436 浏览

java - 为 java 项目生成许可证密钥

我正在创建一个 Java 项目。

我想知道如何为安全目的创建许可证密钥。

0 投票
3 回答
877 浏览

c++ - 为 Mac 生成特定于机器的密钥

在 Windows 上,我们生成一个特定于 PC 的唯一密钥,用于将许可证绑定到 PC。这是一个使用 wxWidgets 的 C++ 应用程序,理论上是跨平台兼容的,但在 Mac 端没有维护。我们使用一些特定于 Win32 的代码来生成密钥……我如何在 Mac 上做类似的事情?

0 投票
1 回答
592 浏览

c# - 如何在 VS2010 中使用自定义许可证验证创建 msi 安装程序

我有 2 个函数:作为字符串getLicence()返回,如果验证成功则返回 true。我有以下要求licencekeyvalidateLicence()

  • 我想在 VS 2010 中创建 msi 安装程序,它调用它getLicence()并显示licencekey.

  • 同时它会要求输入 licencekey并调用validateLicence() 如果验证成功,它将安装否则未安装显示消息“无效的许可证密钥”;

getLicenceKey()用于AesCryptoServiceProvider加密机器名并生成licencekeyvalidateLicence()获取用户输入的许可证密钥并解密和验证。

我正在使用 C# (WCF) 我能够创建一个 MSI 安装程序,但我不知道如何通过安装程序调用这两个函数(因此拥有 licencekey 的用户只能在一台机器上安装我的应用程序)。