最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python Des加密解密如何實(shí)現(xiàn)軟件注冊(cè)碼機(jī)器碼

 更新時(shí)間:2020年01月08日 09:48:10   作者:小鋒學(xué)長(zhǎng)  
這篇文章主要介紹了Python Des加密解密如何實(shí)現(xiàn)軟件注冊(cè)碼機(jī)器碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Python Des加密解密如何實(shí)現(xiàn)軟件注冊(cè)碼機(jī)器碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

原理

  • 判斷路徑下是否存在識(shí)別文件,若存在就解密對(duì)比,若不存在就進(jìn)入機(jī)器碼注冊(cè):
  • 獲取系統(tǒng)C盤(pán)序列號(hào)作為識(shí)別ID,并添加隨機(jī)數(shù)作為混淆,生成最終機(jī)器碼。
  • 將機(jī)器碼發(fā)給軟件開(kāi)發(fā)者,開(kāi)發(fā)者將機(jī)器碼解密后,添加自己的標(biāo)識(shí)符號(hào)并加密生成key,發(fā)給用戶(hù)。
  • 用戶(hù)輸入key,程序?qū)Ρ炔⒈4妗?/li>
  • 用戶(hù)下次打開(kāi)軟件時(shí),重新開(kāi)始步驟‘1'。

說(shuō)明

  • 加密:將序列號(hào)經(jīng)過(guò)Des加密,再經(jīng)過(guò)base64編碼。
  • 解密:將密碼經(jīng)過(guò)base64解碼,再經(jīng)過(guò)Des解密。
  • 寫(xiě)文件:將二進(jìn)制字符轉(zhuǎn)為十六進(jìn)制保存。
  • 讀文件:將十六進(jìn)制轉(zhuǎn)為二進(jìn)制。

代碼

# 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 # 轉(zhuǎn)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(">> 驗(yàn)證完成")
        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(">> 序列號(hào):", encryptstr)
  while True:
    key = input(">> 驗(yàn)證碼:")
    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(">> 驗(yàn)證完成")
          return 1
        elif 'Trial' in decryptstr:
          print('>> Trial')
          return 2
    except Exception as e:
      print(e)
      print(">> 輸入錯(cuò)誤")
      continue

效果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python利用memory_profiler實(shí)現(xiàn)內(nèi)存分析

    Python利用memory_profiler實(shí)現(xiàn)內(nèi)存分析

    memory_profiler是第三方模塊,用于監(jiān)視進(jìn)程的內(nèi)存消耗以及python程序內(nèi)存消耗的逐行分析。本文將利用memory_profiler實(shí)現(xiàn)內(nèi)存分析,需要的可以參考一下
    2022-10-10
  • Python實(shí)現(xiàn)讀取Excel表數(shù)據(jù)并轉(zhuǎn)為JSON格式文件

    Python實(shí)現(xiàn)讀取Excel表數(shù)據(jù)并轉(zhuǎn)為JSON格式文件

    這篇文章主要為大家詳細(xì)介紹了Python如何使用pandas庫(kù)讀取Excel表并將其轉(zhuǎn)為JSON格式文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考下
    2025-04-04
  • python如何將mat文件轉(zhuǎn)為png

    python如何將mat文件轉(zhuǎn)為png

    這篇文章主要介紹了python如何將mat文件轉(zhuǎn)為png,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • matplotlib繪制多個(gè)子圖(subplot)的方法

    matplotlib繪制多個(gè)子圖(subplot)的方法

    這篇文章主要介紹了matplotlib繪制多個(gè)子圖(subplot)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 簡(jiǎn)述:我為什么選擇Python而不是Matlab和R語(yǔ)言

    簡(jiǎn)述:我為什么選擇Python而不是Matlab和R語(yǔ)言

    這篇文章主要介紹了簡(jiǎn)述:我為什么選擇Python而不是Matlab和R語(yǔ)言,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • OpenCV2學(xué)習(xí)筆記之視頻流讀取與處理

    OpenCV2學(xué)習(xí)筆記之視頻流讀取與處理

    為OpenCV是搞計(jì)算機(jī)視覺(jué)必須要掌握的基礎(chǔ),這篇文章主要給大家介紹了關(guān)于OpenCV2學(xué)習(xí)筆記之視頻流讀取與處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • Python 中將二進(jìn)制轉(zhuǎn)換為整數(shù)的多種方法

    Python 中將二進(jìn)制轉(zhuǎn)換為整數(shù)的多種方法

    這篇文章主要介紹了Python 中將二進(jìn)制轉(zhuǎn)換為整數(shù),Python 中提供了多種方式將二進(jìn)制字符串轉(zhuǎn)換為整數(shù),其中包括使用 int() 函數(shù)、使用二進(jìn)制前綴和使用 eval() 函數(shù),本文通過(guò)實(shí)例代碼講解的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • python遍歷文件夾找出文件夾后綴為py的文件方法

    python遍歷文件夾找出文件夾后綴為py的文件方法

    今天小編就為大家分享一篇python遍歷文件夾找出文件夾后綴為py的文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python實(shí)現(xiàn)基于C/S架構(gòu)的聊天室功能詳解

    Python實(shí)現(xiàn)基于C/S架構(gòu)的聊天室功能詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)基于C/S架構(gòu)的聊天室功能,結(jié)合實(shí)例形式詳細(xì)分析了Python實(shí)現(xiàn)聊天室功能的客戶(hù)端與服務(wù)器端相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • 淺談keras中的Merge層(實(shí)現(xiàn)層的相加、相減、相乘實(shí)例)

    淺談keras中的Merge層(實(shí)現(xiàn)層的相加、相減、相乘實(shí)例)

    這篇文章主要介紹了淺談keras中的Merge層(實(shí)現(xiàn)層的相加、相減、相乘實(shí)例),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05

最新評(píng)論

广水市| 西吉县| 略阳县| 拉萨市| 赤壁市| 吉首市| 沙田区| 迁西县| 盐池县| 永胜县| 阜平县| 九江县| 柘城县| 霞浦县| 双柏县| 颍上县| 庄浪县| 利津县| 名山县| 类乌齐县| 克拉玛依市| 饶阳县| 霞浦县| 都昌县| 繁峙县| 西乡县| 广南县| 长垣县| 浦东新区| 隆安县| 郓城县| 贡嘎县| 定边县| 长泰县| 榕江县| 平邑县| 江门市| 云阳县| 哈巴河县| 来宾市| 祁东县|