Unity(C ) 對檔案進行加解密

2021-10-01 16:00:13 字數 3245 閱讀 6125

方法一:

直接呼叫加解密方法新增密碼就可以

using system;

using system.security.cryptography;

using system.io;

namespace common

}///

/// 加密類

///

public

class

desfile

return

true;}

return

false;}

///

/// 加密

///

/// 密碼

///

/// 加密物件

private

static

symmetricalgorithm

createrijndael

(string password,

byte

salt)

///

/// 加密檔案隨機數生成

///

private

static

randomnumbergenerator rand =

newrngcryptoserviceprovider()

;///

/// 生成指定長度的隨機byte陣列

///

/// byte陣列長度

/// 隨機byte陣列

private

static

byte

generaterandombytes

(int count)

///

/// 加密檔案

///

/// 待加密檔案

/// 加密後輸入檔案

/// 加密密碼

public

static

void

encryptfile

(string infile,

string outfile,

string password)

// 關閉加密流

chash.

flush()

; chash.

close()

;// 讀取雜湊

byte

hash = hasher.hash;

// 輸入檔案寫入雜湊

cout.

write

(hash,

0, hash.length)

;// 關閉檔案流

cout.

flush()

; cout.

close()

;}}}

///

/// 解密檔案

///

/// 待解密檔案

/// 解密後輸出檔案

/// 解密密碼

public

static

void

decryptfile

(string infile,

string outfile,

string password)

if(slack >0)

chash.

flush()

; chash.

close()

; fout.

flush()

; fout.

close()

;byte

curhash = hasher.hash;

// 獲取比較和舊的雜湊物件

byte

oldhash =

newbyte

[hasher.hashsize /8]

; read = cin.

read

(oldhash,

0, oldhash.length);if

((oldhash.length != read)||(

!checkbytearrays

(oldhash, curhash)))

throw

newcryptohelpexception

("檔案被破壞");

}if(outvalue != lsize)

throw

newcryptohelpexception

("檔案大小不匹配");

}}}}

方法二:

檔案位元組流與key進行異或運算,加解密檔案可使用同乙個方法

using system.io;

using unityengine;

public

class

desfile

filestream fsread =

newfilestream

(downloadname, filemode.open)

;byte

hebyte =

newbyte

[fsread.length]

; fsread.

read

(hebyte,

0, hebyte.length)

;byte

hebyte1 =

tobyte

(hebyte,

123123123123);

filestream fswrite =

newfilestream

(tempfile, filemode.create)

; fswrite.

write

(hebyte1,

0, hebyte1.length)

; fsread.

close()

;openurl

(tempfile);}

///

/// 加解密byte陣列

///

/// byte物件

/// key

/// key

internal

static

byte

tobyte

(byte

batarget,

long key)

return result;

}}

對檔案進行異或加解密的方法

資源加密實際上是對遊戲所用到的資源進行二進位製碼的轉換,這樣別人就無法獲取到正確的資源。在遊戲進行的時候通過對資源的解碼來獲取正確的資源,然後進行顯示。首先用於加密的演算法必須可以進行解密,不然的話就無法進行資源的載入了。cocos2d x資源加密和解密 一 鵲起驚風 雀巢 資源的加密 資源的加密過...

檔案加解密

建立debuglzq 密碼 加密物件 private static symmetricalgorithm createrijndael string password,byte salt 加密檔案隨機數生成 private static randomnumbergenerator rand new ...

檔案加解密 解密版

include stdafx.h include des.h define crt secure no warnings include include include pragma warning disable 4996 int filesymenc const char pfile1,cons...