Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Generating and Compressing Computer ID

Posted on 2011-09-16
5
Medium Priority
?
748 Views
Last Modified: 2012-05-12
Hi Experts,

To protect my software, i'm trying to generate a unique computer id. I'm trying to combine Hardisk ID, Windows Key, MAC Address etc. My question is, after i retrieved all the above information, how should i compress all the information into 25 character computer id?

Thanks in advance
Reynaldi
0
Comment
Question by:reynaldio
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
5 Comments
 
LVL 9

Accepted Solution

by:
Mahdi78 earned 2000 total points
ID: 36549634
You will find all what want about your need in OnGuard library
http://sourceforge.net/projects/tponguard/
0
 
LVL 9

Assisted Solution

by:Mahdi78
Mahdi78 earned 2000 total points
ID: 36549699
As short way to get Machine ID without installing package, do the following

1- Add the folder OnGuard\source to your project search path.
2- Add OnGuard unit to uses clause.
3- Create the following function to get machine id


uses OnGuard;

function GetMachineID: String;
begin
Result := IntToStr(ABS(CreateMachineID([midUser,
      midSystem, {midNetwork,} midDrives])));
end;

Open in new window

0
 
LVL 9

Expert Comment

by:Mahdi78
ID: 36550267
If you're going to use your method, you can collect information and compress them by this function


uses IdHashMessageDigest;

function CompressID(str:string):string;
var
  md5 : TIdHashMessageDigest5;
begin
  md5 := TIdHashMessageDigest5.Create;
  try
    Result:=copy(md5.HashStringAsHex(str), 1 , 25);
  finally
    md5.Free;
  end;
end;

Open in new window

0
 
LVL 101

Expert Comment

by:mlmcc
ID: 36967107
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article, I’ll look at how you can use a backup to start a secondary instance for MongoDB.
Instead of error trapping or hard-coding for non-updateable fields when using QODBC, let VBA automatically disable them when forms open. This way, users can view but not change the data. Part 1 explained how to use schema tables to do this. Part 2 h…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question