加解密之——註冊機制實現
本文概要介紹基於加解密演算法的註冊機制設計思路
1. 概述
1.1 需求描述
軟體版權的保護。
2. 總體技術方案
2.1 註冊機制的業務場景描述
軟體註冊碼機制需求場景。
2.2 主要加解密過程
說明:1.用vGate公鑰加密對稱金鑰和演算法,是為了確保金鑰的保密性,進而確保了資料的保密性。
2.用對稱金鑰加解密資料,是因為對稱加解密演算法加解密資料的速度比非對稱演算法加解密資料速度快。
3.對原始報文做MD5摘要演算法,是為了確保報文的完整性,防止在中間環節被惡意篡改。
4.對指紋資料進行私鑰加密處理,是為了驗證該license檔案確實是“真”license控制端傳送,即驗證license控制端身份。
5.在對原始報文加密前進行壓縮處理,是為了使加密的資料變小。
總之:加解密過程,保證資料完整性、身份驗證和資料的保密性。
3.3 密文格式
整個密文格式為4部分組成,如上圖所示:頭結構體、經過公鑰加密的對稱金鑰和演算法、經過對稱金鑰加密過的指紋和報文的壓縮檔案、前面密文的MD5。
相關推薦
加解密之——註冊機制實現
本文概要介紹基於加解密演算法的註冊機制設計思路 1. 概述 1.1 需求描述 軟體版權的保護。 2. 總體技術方案 2.1 註冊機制的業務場景描述 軟體註冊碼機制需求場景。 2.2 主要加解密過程 說明:1.用vGate公鑰加密對稱金鑰和演算法,是為了確保金鑰的
java rsa加解密算法的實現
binary 0x03 object sat ear exc triple turn create RSAUtils:RSA加解密的實現 package com.rsa.test; import java.io.ByteArrayOutputStream; import
java加解密之RSA使用
最近為了分析一段請求流,不得不去研究一下RSA加密。 首先,強調一點:金鑰的“鑰”讀“yue”,不是“yao”,額。。。 網上關於RSA的原理一抓一大把的,這裡只是簡單說說我的理解: 1. 兩個足夠大的互質數p, q; 2. 用於模運算的模 n=p*q; 3. 公鑰KU(e
Java☞DES加解密演算法簡介及實現
Java加密解密之對稱加密演算法DES 資料加密演算法(Data Encryption Algorithm,DEA)是一種對稱加密演算法,很可能是使用最廣泛的金鑰系統,特別是在保護金融資料的安全中,最初開發的DEA是嵌入硬體中的。通常,自動取款機(Aut
java加解密之3重DES
單重DES加密較容易破解,為了提高安全性,3重DES加密就是在單重的基礎上衍生出來的,一般3重DES用的比較頻繁。加密過程為加密-解密-加密。 我一直想找用自己定義金鑰的方法來做程式,網上找了很多都找不到,單重倒是有很多,因此只能自己研究研究了,現在拿出來給各位做java的
JVM原始碼分析之Attach機制實現完全解讀
Attach是什麼 在講這個之前,我們先來點大家都知道的東西,當我們感覺執行緒一直卡在某個地方,想知道卡在哪裡,首先想到的是進行執行緒dump,而常用的命令是jstack ,我們就可以看到如下執行緒棧了 2014-06-18 12:56:14 Full thread dump Java HotSpot(
Master的註冊機制和狀態改變管理解密
發生 接受 發送 空值 dto spa 就是 rem 9.png 本課主題 Master 接收 Worker, Driver, Application 註冊 Master 處理 Driver 狀態變換 Master 處理 Executor 狀態變換 Master 接
Keepalived 之 雙主模式+DNS輪詢機制 實現高負載
location 記錄 ipa res 均衡 sta text 不一致 for 一、Keepalived雙主模式+DNS輪詢機制作用 作用:在單主模式下,備機通常會以等待狀態放著,不接受任何數據,導致所有數據請求只往主機-負載均衡發送,做成資源浪費;而雙主模式,即創造兩個V
C#之演算法加密一:AES加解密
AES:是高階加密標準,在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準主要是代替原先的DES,以及被多方分析且廣為全世界所使用。 AES加密資料塊分組長度必須是128位元,金鑰長度可以使128位元,192位元,256位元中的任意一個(
AES-128-CBC-PKCS5PADDING 加解密實現
Copyright © 2018 Joyce_BY, all rights reserved. Contact by email: [email protected] 本文目的及實驗環境 1、實現128-bit的AES加解密過程 2、python3.7.0,windo
C#實現軟體授權,限定MAC執行(軟體license管理,簡單軟體註冊機制)
最近做了一個綠色免安裝軟體,領導臨時要求加個註冊機制,不能讓現場工程師隨意複製。事出突然,只能在現場開發(離開現場軟體就不受我們控了)。花了不到兩個小時實現了簡單的註冊機制,稍作整理。 基本原理:1.軟體一執行就把計算機的CPU、主機板、BIOS、MAC地址記錄下來,然後加密(key=key1)生成
Zynq-Linux移植學習筆記之27UIO機制響應外部中斷實現【轉】
轉自:https://blog.csdn.net/zhaoxinfan/article/details/80285150 版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/jj12345jj198999/article/details/802851501、&n
javaEE之jsp+JavaBean實現登入+註冊+留言功能(外掛資料庫)
javaEE之jsp+JavaBean實現登入+註冊+留言功能(外掛資料庫) 實現效果 #UserBean.java package nmx; public class UserBean { private String username; private Stri
軟實現非對稱加解密,公鑰證書與公鑰值區別,包含提取公約值程式碼
目前有部分未採購簽名驗籤伺服器的企業,採用軟實現做非對稱、對稱加解密,本文簡略說明一下工作過程中遇到的問題。 本交易涉及傳送方,接收方 問題背景: 對方即接收方採用的是軟實現,並且只提供了公鑰值(未經CA簽發) 我方即傳送方,採用的是硬體簽名驗籤服務。伺服器中存有我方的私鑰,
Spring Boot Http通訊資料之加解密
1、應用背景 Spring Boot開發基於restful型別的API,我們再處理JSON請求時通常使用@RequestBody和@ResponseBody註解, 針對HTTP JSON請求需要解密和返回的JSON資料我們經常需要對資料進行加密
XXTEA 加解密 as3 和 Python 分別實現
加解密程式碼 package { import flash.display.Shape; import flash.display.Sprite; import flash.utils.ByteArray; public class Test extends Sprite
[Python3] RSA的加解密和簽名/驗籤實現 -- 使用Crypto
前言 關於非對稱加密演算法我就不過多介紹了,本文著重於python3對RSA演算法的實現。 正文 from Crypto.PublicKey import RSA import Crypto.Signature.PKCS1_v1_5 as sign_PKCS1_v1_5 #用於簽名/
[python3 Numpy 填坑之旅]使用Numpy廣播機制實現陣列與數字比較大小的問題
在使用Numpy開發的時候,遇到一個問題,需要Numpy陣列的每一個元素都與一個數進行比較,返回邏輯陣列。 我們在使用Numpy計算是可以直接使用陣列與數字運算,十分方便。當我嘗試使用廣播機制來處理陣列與數字比較大小問題的時候發現廣播機制同樣適用,以下是測試程式碼: 示例一,二維
java實現AES&MD5加解密
AES: import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.bin
使用python實現RSA加解密演算法(包含讀取檔案操作),檔案內容為16進位制字串,同時實現對學號姓名的加密——(SCU應用密碼學實驗)
#-*- coding:UTF-8 -*- ''' time: 2018-5-30 content:RSA python 3.6 mac os ''' from random import randint import random im