Python2 解密易語言DES加密的密文
易語言DES加密研究背景
易語言與後端的Python進行通訊,資料希望使用DES加密,因此涉及到易語言DES加密資料,然後使用Python的DES演算法進行解密。
雖然這個需求很常見,但確發現網上文章相關文章不多,因此將我總結的整理出來,供給大家參考
易語言DES加密實現:
找了很多,網上各種第三方DES加密和解密的庫,但是發現好用的很少,最後發現,其實易語言自身就支援這個加密演算法
函式原型如下:
呼叫格式: 〈位元組集〉 加密資料 (位元組集 位元組集資料,文字型 密碼文字,[整數型 加密演算法]) - 資料操作支援庫一->資料加解密
英文名稱:Encrypt
加密一段位元組集資料,返回加密後的結果位元組集。如果失敗,返回空位元組集。本命令為初級命令。
引數<1>的名稱為“位元組集資料”,型別為“位元組集(bin)”。為命令提供所需的位元組集資料。
引數<2>的名稱為“密碼文字”,型別為“文字型(text)”。
引數<3>的名稱為“加密演算法”,型別為“整數型(int)”,可以被省略。指定具體使用的加密演算法,可以為以下常量值之一:1: #DES演算法; 2: #RC4演算法。加密和解密必須使用相同的演算法,有關演算法的具體說明請參閱有關文獻。如果本引數被省略,則預設值為1,即DES演算法。
作業系統需求: Windows、Linux
使用舉例:
加密函式(到位元組集(“abc"), “wodekey”, #DES演算法)
非常簡單,但是加密後資料是位元組集不是很友好,因此轉換成 十六進位制表示
位元組集_位元組集到十六進位制 (加密資料 (到位元組集 (”abc“, “test” , #DES演算法))
Python解密易語言的DES密文
初看很簡單的問題,但是測試發現 python根本解不開易語言實現的DES密文
經過苦苦追尋,最終 看到有人分析過 易語言的DES加密原理
我沒有看懂,但是對方給了原始碼,因此直接使用作者提供的python程式碼就可以了
(注:原作者的程式碼 有一行bug i = i + 1 if i < 8 else 0 需要將 8改成 7否則會報錯)
但是發現 這程式碼是Python3的,我的環境是Python2 死活是不行
需要將上述程式碼轉成python2的
核心修改的程式碼:
ba[i] =int(format(ord(b[i]),‘0>8b’)[::-1],2)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1916/viewspace-2826247/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 序列密碼的加密與解密密碼加密解密
- 文字加密:常見的密碼加密解密方法加密密碼解密
- DES加密加密
- 《密碼學系列》|| 詳解密碼學的多重DES演算法...密碼學解密演算法
- 區塊鏈背後的資訊保安(2) DES、3DES加密演算法原理及其GO語言實現區塊鏈3D加密演算法Go
- php rsa長文加密解密PHP加密解密
- Java DES 加解密("DES/ECB/PKCS1Padding")Java解密padding
- Go 如何實現 PHP 的密碼加密解密GoPHP密碼加密解密
- 關於Javascript的des加密JavaScript加密
- DES加密簡述加密
- DES加密詳解加密
- Java之DES加解密解析Java解密
- Dotnet core結合jquery的前後端加密解密密碼密文傳輸的實現jQuery後端加密解密密碼
- ios des 加/解密(with base64)iOS解密
- 中文程式語言——易語言,到底是用來幹什麼的?易語言值得學習嗎?易語言的優勢有什麼?
- 小規模DES手寫加解密解密
- 談談《Dotnet core結合jquery的前後端加密解密密碼密文傳輸的實現》一文中後端解密失敗的原因jQuery後端加密解密密碼
- C語言:一種高效、易學的程式語言C語言
- 加密解密加密解密
- 國密2 (sm2)非對稱加密解密工具--支援生成公鑰私鑰對及加密解密加密解密
- 探討NET Core資料進行3DES加密或解密弱金鑰問題3D加密解密
- 加密的藝術:密文的建立和校驗加密
- 如何在 Linux 上用密碼加密和解密檔案Linux密碼加密解密
- Golang 裡的 AES、DES、3DES 加解密,支援 ECB、CBC 等多種模式組合Golang3D解密模式
- 影像的加密與解密加密解密
- Go語言實現國密證書加密與解析技術詳解Go加密
- PHP加密解密PHP加密解密
- js加密解密JS加密解密
- AES加密解密加密解密
- AES 加密&解密加密解密
- Java 3DES 加解/密程式Java3D
- 一文了解密碼/國密及應用,密碼也卡脖子?解密密碼
- 基於C#實現-維吉尼亞密碼加密、解密C#密碼加密解密
- 詳細解析DES系列加密技術(二)加密
- 詳細解析DES系列加密技術(一)加密
- php mcrypt 加密 解密PHP加密解密
- Javascript 加密解密方法JavaScript加密解密
- AES CBC 加密解密加密解密