Giter VIP home page Giter VIP logo

hexlicense-mirror's Introduction

NOTE: This repository is a mirror of an once public repository formerly located at
https://bitbucket.org/cipher_diaz/hexlicense/src/master/. For unknown reasons, it was
either removed or turned private.

In https://web.archive.org/web/20191103192600/https://jonlennartaasenden.wordpress.com/2018/09/06/hexlicense-patreon-and-all-that/,
the repository's original author expressed his intent to make it a "public repository that everyone has access to", and
to be licensed under LGPL v3.

Because open source licenses cannot be revoked, and because this project is far too interesting to be vanished like that,
I created this mirror.

Hexlicense 1.0.4
================

- "THexLicense.Automatic" property has been removed, license sessions must be 
  manually started in your code by calling BeginSession(). The reason for this is that
  the encryption layer could not be ready when HexLicense started. Before the encryption
  layer can report ready, the cipher-key must be generated; This must be done early,
  and the best place is the OnCreate event in either the main-form or a datamodule.

  Example:

	procedure TForm1.FormCreate(Sender: TObject);
	const
	  LCipher = '{2C2844FB-19D4-41CF-85BC-219864D460D9}';
	begin
	  // Build cipher key first
	  HexKeyRC41.Build(LCipher, SizeOf(LCipher));

	  // Make sure cipher is ready
	  if not HexKeyRC41.Ready then
	  begin
		// Start a new licensed session
	    HexLicense.BeginSession();
	  end else
	  raise Exception.Create('Internal error, code: 667');
	  // Note: You dont want to use informative exceptions when it comes to your
	  // license management system
	end;
	
- THexLicense had its own encryption methods that was used on the license packet.
  This has been removed since the whole point of separate encryption, was to 
  compartmentalize the functionality.
  
- THexEncoder.EncodePtr has been rewritten, now returns the size of the encoded data
- THexEncoder.DecodePtr has been rewritten, now returns the size of the decoded data
  NOTE: Depending on the cipher, the data produced when encoding can be larger than the.
        original. Likewise, encoded data can be smaller than the decoded result.
		Hence the actual size is now returned by both.
- THexEncoder.GetResultSizeOf() has been added. Like explained above, encoded/decoded data
  can have different sizes. The GetResultSizeOf() takes the encoded data-length, and returns
  a safe buffer-size to house the decoded version.

- Fixed a problem where properties were omitted in the FMX unit. For some reason the VCL_TARGET
  switch was used to check if generics is supported (which obviously is 100% wrong). We now use
  the switch for "modern filenames" as an indicator for generics. But that is a temporary "fix".
  Generics should get it's own switch.

- Various minor adjustments and refactoring.
	
Hexlicense 1.0.3
================

This intermediate update adds two important factors:

1. The inclusion of HexBuffers which brings a wealth of low-level data manipulation features
2. Hotfix of potential data loss [*]

* Potential data loss
Textual data should have been stored as shortstring, sadly it was stored using a vanilla string.
This causes potential loss of characters should it breach 255 characters.

Important:

This update is *NOT* binary compatible with previous generated license data.
To use this update, make sure customers activate using the new code.

We realize this is an inconvenience, and in Ironwood a secondary loader has been added that
will recognize the old format and attempt to handle it. This is optional.

Having a "backup-loader" does open up for potential weakness, we strongly suggest that you
use this new edition as much as possible. There will be no more changes to the original
HexLicense fileformat.

Ironwood has different components and it's own IO mechanisms.
Once out, Hexlicense classic (which is the current product line) is regarded as legacy.
It will be maintained ofcourse, and updated, but focus will then shift to Ironwood and server-side
solutions.

Thank you

Jon Lennart Aasenden

hexlicense-mirror's People

Contributors

quartexnor avatar teo-tsirpanis avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.