, , - .
, . .
, : , . , .
-, - , , - , .
:
- [IC] : ; , . , . - , , . .
- [UI] : uniqe ; . , .
- [HASH] : ; - , , . - Windows .
:
begin:
load IC
if not IC: IC = generateIC
load UI
if not UI: UI = promptUser
testHash:
load HASH
if HASH=hash(IC,UI): goto valid
HASH = activateLicense()
if not HASH=hash(IC,UI): goto invalid
valid:
REV = revokeLicense()
if REV: goto invalid
done : run software
invalid:
done : do not run software
generateIC:
IC = some unique identifier
store IC
return IC
promptUser:
UI = get id from user input
store UI
return UI
activateLicense:
HASH = wwwResponse('activationRequest')
store HASH
return HASH
revokeLicense:
REV = wwwResponse('checkIfRevoked')
if REV: erase HASH
return REV
:
- , . -, , IC UI , HASH, . , , , , -, .
, , . .
:
, IC , - . , , , - , , , , , , , , . - , .