亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python Des加密解密如何實現軟件注冊碼機器碼

 更新時間:2020年01月08日 09:48:10   作者:小鋒學長  
這篇文章主要介紹了Python Des加密解密如何實現軟件注冊碼機器碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了Python Des加密解密如何實現軟件注冊碼機器碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

原理

  • 判斷路徑下是否存在識別文件,若存在就解密對比,若不存在就進入機器碼注冊:
  • 獲取系統(tǒng)C盤序列號作為識別ID,并添加隨機數作為混淆,生成最終機器碼。
  • 將機器碼發(fā)給軟件開發(fā)者,開發(fā)者將機器碼解密后,添加自己的標識符號并加密生成key,發(fā)給用戶。
  • 用戶輸入key,程序對比并保存。
  • 用戶下次打開軟件時,重新開始步驟‘1'。

說明

  • 加密:將序列號經過Des加密,再經過base64編碼。
  • 解密:將密碼經過base64解碼,再經過Des解密。
  • 寫文件:將二進制字符轉為十六進制保存。
  • 讀文件:將十六進制轉為二進制。

代碼

# coding: utf-8
 
import win32api
import pyDes
from binascii import b2a_hex, a2b_hex
import base64
import os
def getCVolumeSerialNumber():
  CVolumeSerialNumber=win32api.GetVolumeInformation("C:\\")[1]
  # print(CVolumeSerialNumber)
  if CVolumeSerialNumber:
    return str(CVolumeSerialNumber)
  else:
    return 0
 
def DesEncrypt(str):
  k = pyDes.des(Des_Key, pyDes.CBC, Des_IV, pad=None, padmode=pyDes.PAD_PKCS5)
  encryptStr = k.encrypt(str)
  string = base64.b64encode(encryptStr)
  # print(string)
  return string # 轉base64編碼返回
 
def DesDecrypt(string):
  string = base64.b64decode(string)
  k = pyDes.des(Des_Key, pyDes.CBC, Des_IV, pad=None, padmode=pyDes.PAD_PKCS5)
  decryptStr = k.decrypt(string)
  # print(decryptStr)
  return decryptStr
 
Des_Key = "12345678" # Key
Des_IV = "12345678" # 自定IV向量
def Register():
  if os.path.isfile('conf.bin'):
    with open('conf.bin', 'rb') as fp:
      key = a2b_hex(fp.read())
      print(key)
    serialnumber = getCVolumeSerialNumber()
    decryptstr = DesDecrypt(key).decode('utf8')
    print(decryptstr)
    if serialnumber in decryptstr:
      if 'Buy' in decryptstr:
        print('>> Buy')
        print(">> 驗證完成")
        return 1
      elif 'Trial' in decryptstr:
        print('>> Trial')
        return 2
  rand = str(random.randrange(1, 1000))
  serialnumber = getCVolumeSerialNumber() + rand
  print(serialnumber)
  encryptstr = DesEncrypt(serialnumber).decode('utf8')
  print(">> 序列號:", encryptstr)
  while True:
    key = input(">> 驗證碼:")
    try:
      decryptstr = DesDecrypt(key.encode('utf8')).decode('utf8')
      print(decryptstr)
      if serialnumber in decryptstr:
        if 'Buy' in decryptstr:
          print('>> Buy')
          with open('conf.bin', 'wb') as fp:
            fp.write(b2a_hex(key.encode('utf8')))
            print(">> 驗證完成")
          return 1
        elif 'Trial' in decryptstr:
          print('>> Trial')
          return 2
    except Exception as e:
      print(e)
      print(">> 輸入錯誤")
      continue

效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python之兩種模式的生產者消費者模型詳解

    Python之兩種模式的生產者消費者模型詳解

    今天小編就為大家分享一篇Python之兩種模式的生產者消費者模型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 詳解python第三方庫的安裝、PyInstaller庫、random庫

    詳解python第三方庫的安裝、PyInstaller庫、random庫

    這篇文章主要介紹了python第三方庫的安裝、PyInstaller庫、random庫,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Python基礎之內置模塊詳解

    Python基礎之內置模塊詳解

    Python內置的模塊有很多,我們也已經接觸了不少相關模塊,接下來咱們就來做一些項目開發(fā)中常用的模塊匯總和介紹,需要的朋友可以參考下
    2021-06-06
  • django 實現celery動態(tài)設置周期任務執(zhí)行時間

    django 實現celery動態(tài)設置周期任務執(zhí)行時間

    今天小編就為大家分享一篇django 實現celery動態(tài)設置周期任務執(zhí)行時間,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python實現布爾型盲注的示例代碼

    python實現布爾型盲注的示例代碼

    這篇文章主要介紹了python實現sql布爾盲注的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • python面向對象之類屬性和類方法案例分析

    python面向對象之類屬性和類方法案例分析

    這篇文章主要介紹了python面向對象之類屬性和類方法,結合案例形式分析了Python面相對象中類屬性和類方法的相關概念、原理與使用技巧,需要的朋友可以參考下
    2019-12-12
  • 如何使用python切換hosts文件

    如何使用python切換hosts文件

    這篇文章主要介紹了如何使用python切換hosts文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • python中sklearn庫predict及python sklearn linearmodel(安裝過程)

    python中sklearn庫predict及python sklearn linearmodel(

    Scikit-learn(sklearn)是機器學習中常用的第三方模塊,對常用的機器學習方法進行了封裝,包括回歸(Regression)、降維(Dimensionality Reduction)、分類(Classfication)、聚類(Clustering)等方法,今天小編給大家分享python中sklearn庫predict的問題,感興趣的朋友一起看看吧
    2024-02-02
  • 如何使用python自帶IDLE的幾種方法

    如何使用python自帶IDLE的幾種方法

    這篇文章主要介紹了如何使用python自帶IDLE的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Python中遍歷列表的方法總結

    Python中遍歷列表的方法總結

    在本篇文章里小編給大家分享了關于Python中遍歷列表的方法以及知識點總結,有需要的朋友們學習下。
    2019-06-06

最新評論