當前位置:首頁 » 安卓系統 » android秘鑰

android秘鑰

發布時間: 2023-03-16 00:02:03

⑴ Android網路請求加密機制

密碼學的三大作用:加密( Encryption)、認證(Authentication),鑒定(Identification)

加密 :防止壞人獲取你的數據。 

鑒權 :防止壞人假冒你的身份。

認證 :防止壞人修改了你的數據而你卻並沒有發現。

1. URLEncode和URLDecoder 作用:URLEncode就是將URL中特殊部分進行編碼。URLDecoder就是對特殊部分進行解碼。

為什麼URL要encode原因呢?

url轉義其實也只是為了符合url的規范而已。因為在標準的url規范中 中文和很多的字元 是不允許出現在url中的。

2. Base64編碼

為什麼要進行Base64編碼?

在計算機中任何數據都是按ascii碼存儲的,而ascii碼的128~255之間的值是不可見字元。而在網路上交換數據時,比如說從A地傳到B地,往往要經過多個路由設備,由於不同的設備對字元的處理方式有一些不同,這樣那些不可見字元就有可能被處理錯誤,這是不利於傳輸的。所以就先把數據先做一個Base64編碼,統統變成可見字元,這樣出錯的可能性就大降低了。

應用場景:主要是對於二進制數據進行編碼,(文件、圖片、加密後的二進制數據)

3. 消息認證演算法

要確保加密的消息不是別人偽造的,需要提供一個消息認證碼(MAC,Message authentication code) 。 

消息認證碼是帶密鑰的hash函數,基於密鑰和hash函數(單向散列函數)。

密鑰雙方事先約定,不能讓第三方知道。

消息發送者使用MAC演算法計算出消息的MAC值,追加到消息後面一起發送給接收者。 

接收者收到消息後,用相同的MAC演算法計算接收到消息MAC值,並與接收到的MAC值對比是否一樣。

消息認證碼的作用:檢查某段消息的完整性,以及作身份驗證。

防止重放 攻擊可以有 3 種方法:

序號

每條消息都增加一個遞增的序號,並且在計算 MAC 值的時候把序號也包含在消息中。這樣攻擊者如果不破解消息認證碼就無法計算出正確的 MAC 值。這個方法的弊端是每條消息都需要多記錄最後一個消息的序號。

時間戳

發送消息的時候包含當前時間,如果收到的時間與當前的不符,即便 MAC 值正確也認為是錯誤消息直接丟棄。這樣也可以防禦重放攻擊。這個方法的弊端是,發送方和接收方的時鍾必須一致,考慮到消息的延遲,所以需要在時間上留下一定的緩沖餘地。這個緩沖之間還是會造成重放攻擊的可趁之機。

nonce

在通信之前,接收者先向發送者發送一個一次性的隨機數 nonce。發送者在消息中包含這個 nonce 並計算 MAC 值。由於每次 nonce 都會變化,因此無法進行重放攻擊。這個方法的缺點會導致通信的數據量增加。

4. 對稱加密演算法

特點:加解密只有一個密鑰。優點:速度快、效率高。缺點:密鑰交換問題。演算法:AES(256位元組,主流)、DES(8位元組,淘汰)。

密鑰交換問題如何解決,MAC同樣也有這個問題,可以使用非對稱加密傳輸,或者私下約定,密鑰管理中心。

5. 非對稱加密

非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密(這個過程可以做數字簽名) 。 非對稱加密主要使用的是RSA演算法。

特點:公/私鑰機制。優點:只需要交換公鑰,安全。缺點:加解密速度慢,特別是解密。演算法:RSA。應用:數字簽名。

數字簽名 :

簡單解釋:

A:將明文進行摘要運算後得到摘要(消息完整性),再將摘要用A的私鑰加密(身份認證),得到數字簽名,將密文和數字簽名一塊發給B。

B:收到A的消息後,先將密文用自己的私鑰解密,得到明文。將數字簽名用A的公鑰進行解密後,得到正確的摘要(解密成功說明A的身份被認證了)。

數字證書 :

6. Android端 AES+RSA結合實踐

基本流程

Android端

伺服器端

基本上如下圖所示的流程:

⑵ Android密鑰庫系統KeyStore

利用 Android 密鑰庫系統,您可以在容器中存儲加密密鑰,從而提高從設備中提取密鑰的難度。在密鑰進入密鑰庫後,可以將它們用於加密操作,而密鑰材料仍不可導出。此外,它提供了密鑰使用的時間和方式限制措施,例如要求進行用戶身份驗證才能使用密鑰,或者限制為只能在某些加密模式中使用。

密鑰庫系統並不是讓程序直接進行存儲程序的私密信息的,比如說用戶賬號密碼,冊陵橋其提供了一個密鑰安全容器,保護密鑰材料免遭未經授權的使用,一個應用程序可以在密鑰庫中存儲多個密鑰並且只允許應用自身訪問,應用程序可以在密鑰庫系統中生成,存儲,獲取存儲其中的公鑰或者私鑰,因此可使用密鑰庫系統中的密鑰來進行數據的加密。

密鑰庫系統由 KeyChain API 以及在 Android 4.3(API 級別 18)中引入的 Android 密鑰庫提供程序功能使用。

安卓系統提供了下面幾種KeyStore類型:

各種類型的詳細說明可以參考: https://developer.android.com/openjdk-redirect.html?v=8&path=/technotes/guides/security/StandardNames.html#KeyStore

先州猛創建一個Activity,自定義布局從頁面上來實現幾種功能

效果圖:

說明:
1.輸入框輸入要增加的密鑰的名稱,點擊添加按鈕進行添加一個新密鑰;
2.輸入框輸入要刪除的密鑰的名稱,點擊刪除按鈕進行刪除一個已存在的密鑰;
3.這里指定了數據明文,點擊密鑰列表中的item可選中指定的密鑰,用於使用密鑰進行加密和解密,選中密鑰後,可點擊加密按鈕進行加密,加密後可點擊解密按鈕進行解密;
4.密鑰列表顯示當前應用在密鑰庫系統中生成了的密鑰,長按可刪除密鑰;

MainActivity

密鑰庫系統工具類

生成密鑰時使用X500Principal指定了自簽署證書,參數分別代表汪游
CN:通用名稱
O:組織
OU:組織單元
C:國家
並且指定密鑰的有效時間,並且指定了用於生成密鑰對的自簽名證書的序列號。

這里指定了通過密鑰庫系統生成RSA密鑰。

先從密鑰庫中取出密鑰,使用公鑰進行加密

先從密鑰庫中取出密鑰,使用私鑰進行解密

使用密鑰對數據簽名,簽名演算法須與秘鑰演算法保持一致。

使用密鑰對數據進行簽名認證,簽名演算法須與秘鑰演算法保持一致。

密鑰庫支持的演算法可參考: https://developer.android.com/training/articles/keystore

demo鏈接: https://github.com/samlss/KeyStore

⑶ Android KeyStore密鑰存儲

利用 Android KeyStore System,您可以在容器中存儲加密密鑰,從而提高從設備中提取密鑰的難度。在密鑰進入密鑰庫後,可以將它們用於加密操作,而密鑰材料仍不可導出。此外,它提供了密鑰使用的時間和方式限制措施,例如要求進行用戶身份驗證才能使用密鑰,或者限制為只能在某些加密模式中使用。

密鑰庫系統由 KeyChain API 以及在 Android 4.3(API 級別 18)中引入的 Android 密鑰庫提供程序功能使用。本文說明了何時以及如何使用 Android 密鑰庫提供程序。

1、 存儲密匙:Android提供的這個KeyStore最大的作用就是不需要開發者去維護這個密匙的存儲問題,相比起存儲在用戶的數據空間或者是外部存儲器都更加安全。注意的是這個密匙隨著用戶清除數據或者卸載應用都會被清除掉。
2、得益於Android獨立的一套密匙庫系統,可以提高安全性

Android 密鑰庫系統可以保護密鑰材料免遭未經授權的使用。首先,Android 密鑰庫可以防止從應用進程和 Android 設備中整體提取密鑰材料,從而避免了在 Android 設備之外以未經授權的方式使用密鑰材料。其次,Android 密鑰庫可以讓應用指定密鑰的授權使用方式,並在應用進程之外強制實施這些限制,從而避免了在 Android 設備上以未經授權的方式使用密鑰材料。

Android 密鑰庫密鑰使用兩項安全措施來避免密鑰材料被提取:

為了避免在 Android 設備上以未經授權的方式使用密鑰材料,在生成或導入密鑰時 Android 密鑰庫會讓應用指定密鑰的授權使用方式。一旦生成或導入密鑰,其授權將無法更改。然後,每次使用密鑰時,都會由 Android 密鑰庫強制執行授權。這是一項高級安全功能,通常僅用於有以下要求的情形:在生成/導入密鑰後(而不是之前或當中),應用進程受到攻擊不會導緻密鑰以未經授權的方式使用。

支持的密鑰使用授權可歸為以下幾個類別:

作為一項額外的安全措施,對於密鑰材料位於安全硬體內部的密鑰(請參閱 KeyInfo.isInsideSecurityHardware()),某些密鑰使用授權可能由安全硬體實施,具體取決於 Android 設備。加密和用戶身份驗證授權可能由安全硬體實施。由於安全硬體一般不具備獨立的安全實時時鍾,時間有效性間隔授權不可能由其實施。

您可以使用 KeyInfo.() 查詢密鑰的用戶身份驗證授權是否由安全硬體實施。

在需要系統級憑據時請使用 KeyChain API。在應用通過 KeyChain API 請求使用任何憑據時,用戶需要通過系統提供的 UI 選擇應用可以訪問已安裝的哪些憑據。因此,在用戶同意的情況下多個應用可以使用同一套憑據。

使用 Android 密鑰庫提供程序讓各個應用存儲自己的憑據,並且只允許應用自身訪問。這樣,應用可以管理僅能由自己使用的憑據,同時又可以提供等同於 KeyChain API 為系統級憑據提供的安全優勢。這一方法不需要用戶選擇憑據。

要使用此功能,請使用標準的 KeyStore 和 KeyPairGenerator 或 KeyGenerator 類,以及在 Android 4.3(API 級別 18)中引入的 AndroidKeyStore 提供程序。

AndroidKeyStore 注冊為 KeyStore 類型以用於 KeyStore.getInstance(type) 方法,而在用於 KeyPairGenerator.getInstance(algorithm, provider) 和 KeyGenerator.getInstance(algorithm, provider) 方法時則注冊為提供程序。

生成新的 PrivateKey 要求您同時指定自簽署證書具備的初始 X.509 屬性。之後,您可以使用 KeyStore.setKeyEntry 將證書替換為由證書頒發機構 (CA) 簽署的證書。

要生成密鑰,請使用 KeyPairGenerator 和 KeyPairGeneratorSpec:

要生成密鑰,請使用 KeyGenerator 和 KeyGenParameterSpec。

AndroidKeyStore 提供程序的使用通過所有的標准 KeyStore API 加以實現。

通過調用 aliases() 方法列出密鑰庫中的條目:

通過從密鑰庫提取 KeyStore.Entry 並使用 Signature API(例如 sign())簽署數據:

類似地,請使用 verify(byte[]) 方法驗證數據:

生成密鑰或將密鑰導入到 AndroidKeyStore 時,您可以指定密鑰僅授權給經過身份驗證的用戶使用。用戶使用安全鎖定屏幕憑據(模式/PIN/密碼、指紋)的子集進行身份驗證。

這是一項高級安全功能,通常僅用於有以下要求的情形:在生成/導入密鑰後(而不是之前或當中),應用進程受到攻擊不會導緻密鑰被未經身份驗證的用戶使用。

如果密鑰僅授權給經過身份驗證的用戶使用,可以將其配置為以下列兩種模式之一運行:

⑷ Android 的幾種加密方式

Android 中的最常用得到有三種加密方式:MD5,AES,RSA.

1.MD5

MD5本質是一種散列函數,用以提供消息的完整性保護。

特點:

1.壓縮性:任意長度的數據,算出的MD5值長度都是固定的;

2.容易計算:從原數據計算出MD5值很容易;

3.抗修改性:對原數據進行任何改動,哪怕只修改一個位元組,所得到的MD5值都有很大的區別

4.強抗碰撞:已知原數據和其MD5值,想找到一個具有相同MD5值的數據(及偽造數據)是非常困難的;

2.RSA加密

RSA加密演算法是一種非對稱加密演算法,非對稱加密演算法需要兩個密鑰:公共密鑰和私有密鑰。公鑰和私鑰是配對的,用公鑰加密的數據只有配對的私鑰才能解密。

RSA對加密數據的長度有限制,一般為密鑰的長度值-11,要加密較長的數據,可以採用數據截取的方法,分段加密。

3.AES加密

AES加密是一種高級加密的標准,是一種區塊加密標准。它是一個對稱密碼,就是說加密和解密用相同的密鑰。WPA/WPA2經常用的加密方式就是AES加密演算法。

⑸ Android加密演算法總結

1.概念:
Base64是一種用64個字元(+/)來表示二進制數據的方法,只是一種編碼方式,所以不建議使用Base64來進行加密數據。

2.由來:
為什麼會有Base64編碼呢?因為計算機中數據是按ascii碼存儲的,而ascii碼的128~255之間的值是不可見字元。在網路上交換數據時,比如圖片二進制流的每個位元組不可能全部都是可見字元,所以就傳送不了。最好的方法就是在不改變傳統協議的情況下,做一種擴展方案來支持二進制文件的傳送,把不可列印的字元也能用可列印字元來表示,所以就先把數據先做一個Base64編碼,統統變成可見字元,降低錯誤率。

3.示例:

加密和解密用到的密鑰是相同的,這種加密方式加密速度非常快,適合經常發送數據的場合。缺點是密鑰的傳輸比較麻煩。

1.DES
DES全稱為Data Encryption Standard,即數據加密標准,是一種使用 密鑰加密 的塊演算法。
DES演算法把64位的明文輸入塊變為64位的密文輸出塊,它所使用的密鑰也是64位,密鑰事實上是56位參與DES運算(第8、16、24、32、40、48、56、64位是校驗位,使得每個密鑰都有奇數個1)分組後的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。

2.3DES
3DES(或稱為Triple DES)是三重 數據加密演算法 (TDEA,Triple Data Encryption Algorithm)塊密碼的通稱。是DES向AES過渡的加密演算法,它使用3條56位的密鑰對數據進行三次加密。是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設計出分組加密演算法。比起最初的DES,3DES更為安全。

3.AES
AES全稱Advanced Encryption Standard,即高級加密標准,當今最流行的對稱加密演算法之一,是DES的替代者。支持三種長度的密鑰:128位,192位,256位。

AES演算法是把明文拆分成一個個獨立的明文塊,每一個明文塊長128bit。這些明文塊經過AES加密器的復雜處理,生成一個個獨立的密文塊,這些密文塊拼接在一起,就是最終的AES加密結果。
但是這里涉及到一個問題:假如一段明文長度是192bit,如果按每128bit一個明文塊來拆分的話,第二個明文塊只有64bit,不足128bit。這時候怎麼辦呢?就需要對明文塊進行填充(Padding):

AES的工作模式,體現在把明文塊加密成密文塊的處理過程中。

加密和解密用的密鑰是不同的,這種加密方式是用數學上的難解問題構造的,通常加密解密的速度比較慢,適合偶爾發送數據的場合。優點是密鑰傳輸方便。

1.SHA
安全散列演算法(英語:Secure Hash Algorithm,縮寫為SHA)是一個密碼散列函數家族,是FIPS所認證的安全散列演算法。能計算出一個數字消息所對應到的,長度固定的字元串(又稱消息摘要)的演算法,且若輸入的消息不同,它們對應到不同字元串的機率很高。
SHA分為SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512五種演算法,後四者有時並稱為SHA-2。SHA-1在許多安全協定中廣為使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被視為是MD5(更早之前被廣為使用的雜湊函數)的後繼者。但SHA-1的安全性如今被密碼學家嚴重質疑;雖然至今尚未出現對SHA-2有效的攻擊,它的演算法跟SHA-1基本上仍然相似;因此有些人開始發展其他替代的雜湊演算法。

2.RSA
RSA演算法1978年出現,是第一個既能用於數據加密也能用於數字簽名的演算法,易於理解和操作。
RSA基於一個數論事實:將兩個大素數相乘十分容易,但想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰,即公鑰,而兩個大素數組合成私鑰。公鑰是可提供給任何人使用,私鑰則為自己所有,供解密之用。

3.MD5
MD5信息摘要演算法 (英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16位元組)的散列值,用於確保信息傳輸完整一致。具有如下優點:

XOR:異或加密,既將某個字元或者數值 x 與一個數值 m 進行異或運算得到 y ,則再用 y 與 m 進行異或運算就可還原為 x。
使用場景:
(1)兩個變數的互換(不藉助第三個變數);
(2)數據的簡單加密解密。

⑹ Android 加密之DES加密

des對稱加密,是一種比較傳統的加密方式,其加密運算、解密運算使用的是同樣的密鑰,信息的發送者和信息的接收者在進行信息的傳輸與處理時,必須共同持有該密碼(稱為對稱密碼),是一種對稱加密演算法。

DES全稱Data Encryption Standard,是一種使用密匙加密的塊演算法。現在認為是一種不安全的加密演算法,因為現在已經有用窮舉法攻破DES密碼的報道了。盡管如此,該加密演算法還是運用非常普遍,是一種標準的加密演算法。3DES是DES的加強版本。

DES 使用一個 56 位的密鑰以及附加的 8 位奇偶校驗位,產生最大 64 位的分組大小。這是一個迭代的分組密碼,使用稱為 Feistel 的技術,其中將加密的文本塊分成兩半。使用子密鑰對其中一半應用循環功能,然後將輸出與另一半進行「異或」運算;接著交換這兩半,這一過程會繼續下去,但最後一個循環不交換。DES 使用 16 個循環,使用異或,置換,代換,移位操作四種基本運算。

⑺ 存儲密鑰到AndroidKeyStore,並進行加密處理

AndroidKeyStore支持將已生成的密鑰進行導入,支持AES和HMAC演算法。

以HMAC為例

導入談鬧密鑰:

使用密鑰進行加密處理:

加密三次,輸出日誌

P.S:AES 可存含並罩儲成功,但取出的SecretKey.getEncoded()為null,猜測是AndroidKeyStore不支持導出?蔽橋????

⑻ Android使用RSA加密和解密

1.data是要加密的數據,如果是字元串則getBytes。publicKey是公鑰,privateKey是私鑰。自定義密鑰對測試

2.從文件中讀取公鑰

當加密的數據過長時,會出現javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes的異常。rsa演算法規定一次加密的數據不能超過生成密鑰對時的keyLength/8-11,keyLength一般是1024個位元組,則加密的數據不能超過117個位元組

測試分段加密和解密

生成公鑰和私鑰後,用base64編碼

一、android加密的數據伺服器上無法解密?
android的rsa加密方式是RSA/ECB/NoPadding,而標准jdk是RSA/ECB/PKCS1Padding,所以加密時要設置標准jdk的加密方式

二、base64編碼。因為不同的設備對字元的處理方式不同,字元有可能處理出錯,不利於傳輸。所以先把數據做base64編碼,變成可見字元,減少出錯
官方提供的base64類,Base64.encode編碼,Base64.decode解碼。用這個會有換行符,需要自定義

三、rsa是非對稱加密演算法。依賴於大數計算,加密速度比des慢,通常只用於加密少量數據或密鑰

四、公鑰加密比私鑰加密塊,公鑰解密比私鑰解密慢。加密後的數據大概是加密前的1.5倍

⑼ android 密鑰 怎麼加密

有這樣2個類:

KeyGenerator:此類提供(對稱)密鑰生成器的功能。

Cipher:此類為加密和解密提供密碼功能。

在加密和解密過程中Cipher會使用到KeyGenerator生成的key進行加密(生成密文)和解密(解析密文)

[java] view plainprint?
01.public class Main {
02. public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
03. //-------------------加密過程---------------------------------
04. //產生一個key,需要關聯一種「DES」演算法
05. KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
06. SecretKey deskey = keyGenerator.generateKey();
07. //需要加密的info
08. String info = "12345678";
09. //輸出加密前的密文內容
10. System.out.println(""+info);
11. //產生一個Random
12. SecureRandom sr = new SecureRandom();
13. byte[] cipherByteEncrypt = null;
14. try {
15. Cipher c1 = Cipher.getInstance("DES");
16. c1.init(Cipher.ENCRYPT_MODE, deskey, sr);
17. //生成密文
18. cipherByteEncrypt = c1.doFinal(info.getBytes());
19. } catch (Exception e) {
20. e.printStackTrace();
21. }
22. //輸出加密後的密文內容
23. System.out.println(""+new String(cipherByteEncrypt,"ISO-8859-1"));
24.
25.
26. //-------------------解密過程-----------------------------------
27. //產生一個Random
28. sr = new SecureRandom();
29. byte[] cipherByteDecrypt = null;
30. try {
31. Cipher c1 = Cipher.getInstance("DES");
32. c1.init(Cipher.DECRYPT_MODE, deskey, sr);
33. //解析密文
34. cipherByteDecrypt = c1.doFinal(cipherByteEncrypt);
35. } catch (Exception e) {
36. e.printStackTrace();
37. }
38. System.out.println(""+new String(cipherByteDecrypt,"ISO-8859-1"));
39.
40. }
41.
42.}
public class Main {
public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
//-------------------加密過程---------------------------------
//產生一個key,需要關聯一種「DES」演算法
KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
SecretKey deskey = keyGenerator.generateKey();
//需要加密的info
String info = "12345678";
//輸出加密前的密文內容
System.out.println(""+info);
//產生一個Random
SecureRandom sr = new SecureRandom();
byte[] cipherByteEncrypt = null;
try {
Cipher c1 = Cipher.getInstance("DES");
c1.init(Cipher.ENCRYPT_MODE, deskey, sr);
//生成密文
cipherByteEncrypt = c1.doFinal(info.getBytes());
} catch (Exception e) {
e.printStackTrace();
}
//輸出加密後的密文內容
System.out.println(""+new String(cipherByteEncrypt,"ISO-8859-1"));

//-------------------解密過程-----------------------------------
//產生一個Random
sr = new SecureRandom();
byte[] cipherByteDecrypt = null;
try {
Cipher c1 = Cipher.getInstance("DES");
c1.init(Cipher.DECRYPT_MODE, deskey, sr);
//解析密文
cipherByteDecrypt = c1.doFinal(cipherByteEncrypt);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(""+new String(cipherByteDecrypt,"ISO-8859-1"));

}

}輸出:

12345678
3M±@*:?;???+j??? ---------------->這是密文
12345678

⑽ 在Android的密鑰庫問題,怎麼解決

(1)Android Studio菜單Build->Generate Signed APK
(2)彈出窗口
(3)創建密鑰庫及密鑰,創建後會自動選擇剛創建的密鑰庫和密鑰(已擁有密鑰庫跳過)
點擊「Create new...」按鈕創建密鑰庫

Key store path:密鑰庫文件的地址
Password/Confirm:密鑰庫的密碼
Key:
Alias:密鑰名稱
Password/Confirm:密襲辯老鑰密碼
Validity(years):密鑰有效時間
First and Last Name:密鑰頒發拍升者姓名
Organizational Unit:密鑰頒發組織
City or Locality:城市
Country Code(XX):國家
(4)灶枯選擇已存在密鑰庫及密鑰(在(3)中創建密鑰庫後跳過此步驟)
點擊「Choose existing...」按鈕找到密鑰庫文件
Key store password輸入已選擇的密鑰庫文件的密碼
點擊Key alias後的「...」按鈕,選擇或者創建一個密鑰
(5)點擊「Next」按鈕,選擇保存路徑後,點擊「Finish」按鈕完成

熱點內容
php在線狀態 發布:2025-05-10 06:22:23 瀏覽:258
加密技術的優缺點 發布:2025-05-10 06:22:18 瀏覽:525
messagelinux 發布:2025-05-10 06:15:50 瀏覽:817
如何找回微信號碼登錄密碼 發布:2025-05-10 06:14:22 瀏覽:152
csv解壓 發布:2025-05-10 06:06:02 瀏覽:761
小米系統存儲和內存設備 發布:2025-05-10 06:00:56 瀏覽:692
深圳ug編程培訓 發布:2025-05-10 05:54:27 瀏覽:662
二進制乘法演算法 發布:2025-05-10 05:53:46 瀏覽:589
safari怎麼清理緩存 發布:2025-05-10 05:53:43 瀏覽:650
javaodbc資料庫連接 發布:2025-05-10 05:39:21 瀏覽:121