locked
Implementing Software License key (Secure Algorithm) RRS feed

  • Question

  • User-1204637165 posted

    Dear All,

    So I just built a software and I am trying to implement a software license key system. So a user would pay to use my software for possibly a month, 2 months or more.

    My platform is meant to generate a license key that would last for the period of time the user chooses.

    Based on my algorithm. I pick the start date and generate an enddate based on the active days.

    But here is a challenge , I notice that if my user change the current date on their system, The software license would not work since I am using the system date to do my check.

    So a user can change the date on his system to bit my license key duration.

    what do I do

    Wednesday, July 24, 2019 1:07 AM

Answers

  • User-1204637165 posted

    Thanks I have figured out a way which works. it a design that can help with days counting.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, July 26, 2019 6:17 AM

All replies

  • User475983607 posted

    This is a design question and design question are always difficult to answer on a support forum.  I would store the expiration on a server that I own and maintain.  That means the user's system must have internet access.

    Wednesday, July 24, 2019 11:02 AM
  • User-1204637165 posted

    Unfortunately the system is suppose to work without internet. Which makes it more tricky to do.

    Wednesday, July 24, 2019 11:59 AM
  • User-1204637165 posted

    I already have a expiration stored on the online server. but how do I still implement my licensing when the user is working with the software if there is no internet

    Wednesday, July 24, 2019 12:00 PM
  • User475983607 posted

    I already have a expiration stored on the online server. but how do I still implement my licensing when the user is working with the software if there is no internet

    Clearly not possible if the system is not connected to the Internet. 

    As I said above, design questions like yours are difficult to answer on a support forum as we need to extract the application requirements and do an analysis. If you feel the user will change the system date to continue using your software then track the system date.  

    Wednesday, July 24, 2019 1:10 PM
  • User-1204637165 posted

    Ok I would put up question on some of my application requirements with respect to what I am trying out.

    Wednesday, July 24, 2019 1:50 PM
  • User475983607 posted

    Ok I would put up question on some of my application requirements with respect to what I am trying out.

    Add you are looking for a quote?

    Wednesday, July 24, 2019 2:00 PM
  • User-1204637165 posted

    Ok so Let me explain the system requirement.

    When the system gets or download the software in question. the user needs to connect the software to an online server where he gets demo key or buy license key. so a license key is generated and downloaded to the offline system database. So the system is suppose to always do a check on the license key that was downloaded.

    So A friend suggested that allow my software write to the system registry or create an  hiddle file which would do a counter on the number of days that the software is been used.

    I intend using an hidden file to store the counter. So I am currently looking for a way to write an hidden file from my asp.net core web application. So when it runs for the first time. it can write a file to a system directory. and they web application can always check this file for count in days and also update it. just like it reads from appsettings.json file.

    Or maybe I should just write and encrypt my counter in appssettings.json file. and read from there. I would have preferred an hidden file so it makes it hard for anyone to trace and alter things.

    Wednesday, July 24, 2019 2:12 PM
  • User475983607 posted

    It seems like you presented a solution not a system requirement.  Secondly, the edge case was related to the user changing the system date.

    Wednesday, July 24, 2019 2:33 PM
  • User-1204637165 posted

    Thanks I have figured out a way which works. it a design that can help with days counting.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, July 26, 2019 6:17 AM