aes c android ios,AES加密在iOS和Android中產生不同的結果

嘗試使用AES128算法加密樣本數據,在

Android和iOS中使用CBC和PKCS7填充,但結果不同:(

Android代碼:

private static final byte[] KEY = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10};

int srcBuffSiz = 1024;

byte[] srcBuff = new byte[srcBuffSiz];

Arrays.fill(srcBuff, (byte)0x01);

SecretKeySpec skeySpec = new SecretKeySpec(KEY, "AES");

Cipher ecipher = Cipher.getInstance("AES/CBC/PKCS7Padding");

ecipher.init(Cipher.ENCRYPT_MODE, skeySpec);

byte[] dstBuff = ecipher.doFinal(srcBuff);

int bytesEncrypted = dstBuff.length;

iOS代碼:

// Source buffer

size_t srcBuffSiz = 1024;

unsigned char* srcBuff = new unsigned char[srcBuffSiz];

memset(srcBuff, 0x01, srcBuffSiz);

// Destination buffer

size_t dstBuffSiz = srcBuffSiz + 128;

unsigned char* dstBuff = new unsigned char[dstBuffSiz];

memset(dstBuff, 0x00, dstBuffSiz);

unsigned char keyPtr[kCCKeySizeAES128] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10};

size_t bytesEncrypted = 0;

CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding,

keyPtr, kCCKeySizeAES128,

NULL /* initialization vector (optional) */,

srcBuff, srcBuffSiz, /* input */

dstBuff, dstBuffSiz, /* output */

&bytesEncrypted);

因此,在這兩種情況下,我都試圖使用預定義的樣本密鑰加密樣本1024字節緩沖區(通常填充0x01值).

iOS中第一個和最后6個字節的加密緩沖區:

ED CC 64 27 A8 99 ... 0C 44 9F EC 34 FC

Android中第一個和最后一個6字節的加密緩沖區:

AE 65 A9 F7 7F 0E ... 1F BD AE 8B 85 ED

任何的想法?

如果我將Cipher.getInstance(“AES / CBC / PKCS7Padding”)替換為Cipher.getInstance(“AES”),那么加密緩沖區的前幾個字節將是相同的,但是從第17個字節開始……

iOS版:

ED CC 64 27 A8 99 DA 83 D5 4A B0 03 0F E7 DD A7 35 F2 50 5C 49 47 CC 3B 2F AB D1 61 05

安卓:

ED CC 64 27 A8 99 DA 83 D5 4A B0 03 0F E7 DD A7 ED CC 64 27 A8 99 DA 83 D5 4A B0 03 0F

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

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

相關文章

樹形DP+樹狀數組 HDU 5877 Weak Pair

1 //樹形DP樹狀數組 HDU 5877 Weak Pair2 // 思路&#xff1a;用樹狀數組每次加k/a[i]&#xff0c;每個節點ansSum(a[i]) 表示每次加大于等于a[i]的值3 // 這道題要離散化4 5 #include <bits/stdc.h>6 using namespace std;7 #define LL long long8 typedef pair<int…

mysql一直拒絕登錄_mysql 登錄錯誤:1045 (28000)訪問被拒問題

關鍵條目&#xff1a;ERROR 1045(28000): Access deniedforuserrootlocalhost(using password: YES)這個錯誤1045(28000)的本質其實就是訪問被拒絕&#xff0c;問題原因也很簡單&#xff0c;就是用戶密碼不適用&#xff0c;也可以理解為用戶或密碼錯誤。Access deniedforuserro…

SQLServer書寫規范梳理

今天給大家分享SQLServer書寫規范筆記&#xff0c;希望對大家能有所幫助!1、在名稱中僅使用字母、數字和下劃線要在名稱中僅使用字母、數字和下劃線&#xff0c;主要是因為這些字符可以被方便的移植到編程語言中。在應用程序的數據庫和編程語言中能夠使用相同的屬性字段名稱&am…

android 屏幕旋轉不重新加載,Android webview旋轉屏幕導致頁面重新加載問題解決辦法...

Android webview旋轉屏幕導致頁面重新加載問題解決辦法1. 在create時候加個狀態判斷protected void onCreate(Bundle savedInstanceState){...if (savedInstanceState null){mWebView.loadUrl("your_url");}...}2. 重載保存狀態的函數&#xff1a;Overrideprotected…

visio調整形狀位置_VISIO繪圖技巧—三相橋式全控整流電路繪制

前些天有網友留言詢問如何畫三相橋式全控整流電路&#xff0c;一直沒時間回復。今天得閑在家&#xff0c;給大家介紹一下如何來畫。上圖是一個三相橋式全控整流電路原理圖&#xff0c;大部分圖形元件在VISIO自帶的圖形庫中都能找到&#xff0c;下面來看看如何找出我們需要的繪圖…

計算機組成原理——關于數據對齊存儲

計算機組成原理——關于數據對齊存儲 1. 綜述 博客&#xff1a;http://blog.csdn.net/cyxcw1/article/details/9080519(C/C數據邊界對齊的注意事項) 對齊&#xff1a;變量的起始地址為其大小的整數倍。如short型占兩個字節&#xff0c;其起始地址就要從偶數地址開始。 對齊可以…

電腦術語科普:什么是“顯卡交火”?

有時候看到別人在討論顯卡交火的話題&#xff0c;相信大家對顯卡交火這個術語了解得也比較少&#xff0c;那么它是什么意思呢? 顯卡交火簡單的說就是&#xff1a;讓兩塊或者多塊顯卡在一臺機子上協同工作&#xff0c;相比于使用一張顯卡圖形性能有所提升。 目前主流顯卡交火有…

Mac查看本機ip地址

Mac查看本機ip地址 ifconfig | grep "inet" 箭頭處為ip地址

python3.4 pip安裝_python3.4的pycurl pip安裝

我正在安裝pycurl for python3.4如果我運行“pip install pycurl”&#xff0c;我有&#xff1a;Downloading/unpacking pycurlRunning setup.py (path:C:\Users\kkw\AppData\Local\Temp\pip_build_kkw\pycurl\setup.py) egg_info for package pycurlPlease specify --curl-dir…

html頁面整體變灰,css實現網站整體變灰(兼容火狐)

天下興亡&#xff0c;匹夫有責。有時候我們可能需要將網站整體變灰&#xff0c;實現方法也很簡單。將下面代碼加入到 wordpress 主題目錄下的 style.css 文件中即可&#xff1a;/* 網站變灰代碼 */html{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filte…

SQL Azure與SQL Server兩者的對比介紹,看完你就懂了!

今天給大家SQL Azure與SQL Server兩者的對比介紹&#xff0c;看完你就懂了&#xff01;1、SQL Server介紹SQL Server數據庫服務方式是安裝在客戶提供的服務器內。客戶負責硬件、、軟件安裝、安全性、數據庫備份、災難恢復等相關的運維工作。需要較高的人為運維成本。2、SQL Azu…

如何用HTML語言設計進度條,html5代碼如何實現進度條功能?(示例)

本篇文章主要介紹html5代碼如何實現進度條功能&#xff0c;希望對大家有所幫助。html5代碼實現進度條功能具體代碼示例如下&#xff1a;/*實現進度條的功能*/下載進度&#xff1a;/*js代碼*/var pgdocument.getElementById(pg);setInterval(function(e){if(pg.value!100) pg.va…

Flink是什么

一&#xff1a;Flink是什么

sublime插件 TortioseSVN

TortioseSVN 可以安裝在sublime中&#xff0c;實現svn文件的增加、刪除、更新、提交等功能&#xff08;TortioseSVN用在window系統中&#xff0c;linux安裝svn&#xff09; 安裝&#xff1a; 首先在sublime中搜索安裝TortioseSVN&#xff0c;&#xff08;前提是安裝了package c…

python腳本 游戲賺金幣兌換錢_一種王者榮耀刷金幣方法(python腳本)

所用工具環境python3.6.5 和 支持自動鼠標鍵盤點擊等編程的pyautogui功能包windows PC&#xff0c;安卓模擬器bluestacks&#xff0c;安裝王者榮耀基本思路王者榮耀有闖關任務模式可以獲得金幣&#xff0c;任務兩三分鐘一般就可以完成&#xff0c;支持自動模式&#xff0c;一次…

SQL Server數據庫架構與對象相關知識筆記

1、數據庫架構簡介數據庫架構是從SQL Server2005版本之后引入的概念。數據庫架構獨立于創建它的數據厙用戶而存在&#xff0c;每個對象都屬于一個數據庫架構&#xff08;對象包括表、視圖、存儲過程、函數、觸發器等&#xff09;2、 數據庫、架構和數據庫對象數據庫架構是一個獨…

html ajax 數據傳送,HTML AJAX 簡單數據JS

ajax請求var xmlhttp;var data;//Mozilla ,chmore瀏覽器(將XMLHttpRequest對象作為本地瀏覽器對象來創建)if(window.XMLHttpRequest){ //Mozilla 瀏覽器xmlhttp new XMLHttpRequest();}else if(window.ActiveXObject) { //IE瀏覽器//IE瀏覽器(將XMLHttpRequest對象作為ActiveX…

轉換

1024字節1K 1024*10241M 1024K1M 1024M1G 字

蒙提霍爾悖論(三門問題)終極分析(補充)附完整源碼

上一篇文章分析了經典的蒙提霍爾問題&#xff0c;最后的結論是更換選擇后有2/3的機會中獎。蒙提霍爾問題到此已經完結&#xff0c;但事實卻并非如此。 在蒙提霍爾問題中&#xff0c;主持人事先知道汽車在哪個門后面&#xff0c;并且他一定會選擇沒有汽車的那扇門。如果我們稍稍…

超融合和服務器關系_超融合與傳統服務器區別

超融合與傳統服務器的區別1.1概述雖然超融合架構以其為用戶帶來的巨大價值&#xff0c;已經被越來越廣泛地接受&#xff0c;但市場上對超融合仍然有諸多不清晰的概念和疑問&#xff0c;本系列文章將力求對這些概念進行逐一解釋。本篇解釋大家經常問到和混淆的一個概念&#xff…