php xxtea加密,php - esp32和php XXTEA字符串加密 - SO中文參考 - www.soinside.com

輸入具有不同的數據類型可能會導致此問題,因為當前沒有任何類型或范圍檢查的XXTEA實現。

或者它可能是由于所涉及的兩臺計算機的不同端序行為,因為二進制文件通常存儲為由字節構造的字數組。

或者可能是由于缺少正式加密特定字符串和密鑰的官方或標準參考示例。在沒有參考示例(使用二進制加密結果的十六進制或base64轉換)的情況下,無法判斷加密的實現是否正確,即使其結果使用相應的解密實現正確解密。

添加:

我想我在已發布的XXTEA代碼中發現了一個兼容性問題。在這里討論它可能值得花些時間。

具體地說,問題在于不同的實現為加密相同的明文和密鑰創建了不同的結果。

討論:

這個問題是由于將明文的長度作為long數組的最后一個元素而增加的。雖然這解決了長度不是4的倍數的明文問題,但它生成的加密值與JavaScript實現生成的加密值不同。

如果你插入“$ w = false;”在long2str和str2long函數的開頭,PHP實現的加密值與JavaScript實現相同,但解密后的值最后有垃圾。

以下是此更改的一些測試用例結果:

PHP:

text: >This is an example. !@#$%^&*(){}[]:;<

Base64: PlRoaXMgaXMgYW4gZXhhbXBsZS4gIUAjJCVeJiooKXt9W106Ozw=

key: 8GmZWww5T97jb39W

encrypt: sIubYrII6jVXvMikX1oQivyOXC07bV1CoC81ZswcCV4tkg5CnrTtqQ==

decrypt: >This is an example. !@#$%^&*(){}[]:;

注意:“解密”行末尾有兩個UTF-8問號字符。

JavaScript的:

text: >This is an example. !@#$%^&*(){}[]:;<

Base64: PlRoaXMgaXMgYW4gZXhhbXBsZS4gIUAjJCVeJiooKXt9W106Ozw=

key: 8GmZWww5T97jb39W

encrypt: sIubYrII6jVXvMikX1oQivyOXC07bV1CoC81ZswcCV4tkg5CnrTtqQ==

decrypt: >This is an example. !@#$%^&*(){}[]:;<

JavaScript實現中沒有垃圾的原因即使它沒有保存明文的長度,也會在注釋中給出:“注意運行字符串的結尾會生成空值,因為按位運算符將NaN視為0”。換句話說,生成的字符串用從未見過的NUL填充,即使JavaScript(如PHP)可以在字符串中包含NUL,因為它分別存儲長度。

我對哪種方法最好是沒有意見,但應該為所有實現選擇一種方法。

應該有加密結果標準的原因(無論二進制文件是轉換為十六進制還是轉換為base64以便安全傳輸),人們可能希望使用PHP進行編碼,而使用JavaScript進行解碼,具體取決于在兩個地方使用哪種語言是很自然的。畢竟,加密最常用于在兩個位置之間進行通信,并且目標位置使用的語言甚至可能都不知道。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/279064.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279064.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279064.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ipad iphone開發_如何在iPad或iPhone上使用外部GPS設備

ipad iphone開發If you bought a Wi-Fi only iPad and now you wish you could use GPS with it, this is the guide for you. Follow along to hook your iPad up to an external GPS unit and/or GPS-enabled smartphone phone. 如果您購買了僅支持Wi-Fi的iPad&#xff0c;現…

jQuery系列(十四):jQuery中的ajax

1、什么是ajax AJAX 異步的javascript和XML&#xff08;Asynchronous Javascript and XML&#xff09; 簡言之&#xff0c;在不重載整個網頁的情況下&#xff0c;AJAX通過后臺加載數據&#xff0c;并在網頁上進行顯示。 通過 jQuery AJAX 方法&#xff0c;您能夠使用 HTTP Get…

flex 布局以及樣式

1.Flex是Flexible Box的縮寫&#xff0c;意為”彈性布局”&#xff0c;用來為盒狀模型提供最大的靈活性2.任何一個容器都可以用flex布局&#xff08;注意&#xff0c;設為Flex布局以后&#xff0c;子元素的float、clear和vertical-align屬性將失效&#xff09; 采用Flex布局的元…

java swing列表數據加監聽,【Java Swing公開課|Java監聽列表項選擇事件怎么用,看完這篇文章你一定就會了】- 環球網校...

【摘要】作為一門面向對象編程語言&#xff0c;Java吸收了C語言的優點&#xff0c;也展現了其強大的一面&#xff0c;我們能在各個地方看到其功能強大和簡單易用的兩個特征&#xff0c;當然&#xff0c;也吸引了很多程序員的注意力&#xff0c;所以就有人想了解Java的相關內容&…

fc-ae-1553_什么是AE-L,AF-L和*按鈕,它們的作用是什么?

fc-ae-1553DSLRs and mirrorless cameras have a lot of buttons. If you’re just starting to get the hang of manually controlling your camera, you’re probably wondering what all the—seemingly non-essential—ones do. Let’s take a look at the AE-L, AF-L, AF-…

PopsTabView--filter容器

PopsTabView是個filter容器,他可以自動,快速,構建不同篩選樣式,自由組合成一組tab. DownloadDownloadAuthorLicense篩選樣式篩選種類可自定義屬性單列單選,多選初始數據bean,篩選結果bean,tab樣式,篩選樣式多排單選,多選初始數據bean,篩選結果beantab樣式,篩選樣式雙列單項單選…

git 基本使用方法

git clone https://gitee.com/kuaiyiwazz.git //開始下載服務器項目文件&#xff08;后邊是服務地項目的地址&#xff09;git add . //這里有個點&#xff08;仔細看&#xff09;git status //檢查項目修改狀態git commit -m"注釋(修改的內容)" git push //添…

大學留級兩年不敢和家人說_您說什么:如何與家人保持聯系?

大學留級兩年不敢和家人說Earlier this week we asked you to share your tips, tricks, and techniques for staying connected when you’re away from your home broadband connection. Now we’re back with a roundup of what you said. 本周早些時候&#xff0c;我們要求…

DevExpress v17.2新版亮點—WinForms篇(四)

2019獨角獸企業重金招聘Python工程師標準>>> DevExpress首推團隊升級培訓套包&#xff0c;最高可省10萬元&#xff01;查看詳情>>> 用戶界面套包DevExpress v17.2終于正式發布&#xff0c;本站將以連載的形式為大家介紹各版本新增內容。開篇介紹了DevExpre…

Solr 11 - Solr集群模式的部署(基于Solr 4.10.4搭建SolrCloud)

目錄 1 SolrCloud結構說明2 環境的安裝2.1 環境說明2.2 部署并啟動ZooKeeper集群2.3 部署Solr單機服務2.4 添加Solr的索引庫3 部署Solr集群服務(SolrCloud)3.1 啟動ZooKeeper3.2 ZooKeeper管理配置文件3.3 修改SolrCloud監聽端口3.4 關聯Solr與ZooKeeper3.5 分發SolrCloud服務3…

matlab怎么畫一箭穿心,MATLAB學習與使用:如何繪制三維心形圖 經驗告訴你該這樣...

MATLAB是MATrix & LABoratory(矩陣實驗室)的縮寫&#xff0c;是一款強大的科學軟件&#xff0c;具有編程、繪圖、仿真等功能。利用MATLAB繪制一款三維的心形圖&#xff0c;然后送給心愛的姑娘&#xff0c;也是理工男撩妹的一項小技能。工具/材料MATLAB三維心形圖操作方法01…

mac重置系統_如何在Mac上重置打印系統

mac重置系統Printers are notorious for failing frequently. A quick restart of the printer or computer usually fixes most intermittent issues, but occasionally it’s best to reset your printing settings and reinstall the printer completely. Consider this a f…

COW奶牛!Copy On Write機制了解一下

前言 只有光頭才能變強 在讀《Redis設計與實現》關于哈希表擴容的時候&#xff0c;發現這么一段話&#xff1a; 執行BGSAVE命令或者BGREWRITEAOF命令的過程中&#xff0c;Redis需要創建當前服務器進程的子進程&#xff0c;而大多數操作系統都采用寫時復制&#xff08;copy-on-w…

參數回調

1.場景 參數回調方式與調用本地 callback 或 listener 相同&#xff0c;只需要在 Spring 的配置文件中聲明哪個參數是 callback 類型即可。 Dubbo 將基于長連接生成反向代理&#xff0c;這樣就可以從服務器端調用客戶端邏輯 2.

matlab胡良劍第五章,MATLAB習題參考答案(胡良劍,孫曉君)

MATLAB習題參考答案第一章 MATLAB入門4、求近似解解&#xff1a;>> x-2:0.05:2;yx.^4-2.^x兩個近似解&#xff1a;y1f(-0.85) -0.0328; y2f(1.250) 0.0630第二章 MATLAB編程與作圖1、 設x是數組&#xff0c;求均值和方差 解&#xff1a;函數文件如下&#xff1a;function…

windows 全局變量_如何在Windows中使用全局系統環境變量

windows 全局變量Any system administrator who spends a good bit of time in the command prompt or batch scripts is probably well aware of built in environment variables Windows offers (i.e. Path, WinDir, ProgramFiles, UserProfile, etc.). If you find yourself…

Day2-T1

原題目 Describe&#xff1a;貪心&#xff0c;左邊和右邊中選字典序小的 code&#xff1a; #include<bits/stdc.h> using namespace std; int n,step,head,tail; char p[50005]; int main() {freopen("bcl.in","r",stdin);freopen("bcl.out&quo…

hadoop編譯java,Hadoop源碼編譯(2.4.1)

背景Hadoop 2.4.1預編譯版本自帶的libhadoop.so是在32位機器上編譯上,導致在64位OS上運行時&#xff0c;總出現如下告警&#xff1a;WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable查看…

C# System.Windows.Forms.NumericUpDown 控件全選其中文字

num_length.Focus(); UpDownBase updbText (UpDownBase)num_length; num_length.Select(0, updbText.Text.Length);轉載于:https://www.cnblogs.com/LuoEast/p/7942476.html

twitter api使用_使用P2創建自己的Twitter風格的組博客

twitter api使用Would you like a great way to post stuff quickly online and communicate with your readers? Here’s how you can use the P2 theme to transform WordPress into a great collaboration and communications platform. 您是否想以一種很好的方式在網上快…