另类一点,zlib压缩,压缩后的东西记事本看肯定是乱码,而且能够节省磁盘空间,房一般的小P孩子,不懂压缩文件格式的看了也是茫然Zlib.dll可以到zlib官网下载,缺点就是要带一个这个文件 如果楼主需要简单的,每个字节异或是最简单的,但是也是最不安全的下面的函数需要传递被压缩或者解压缩的数组,然后将这个数组内容二进制写入就可以了,读取的时候也用二进制 字符串转化数组就不用我说了吧Option Explicit ‘copia un numero cbCopy di bytes da un indirizzo di memoria ad un altroDeclare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)‘queste funzioni comprimono e decomprimono un array di bytes Declare Function compress Lib "Zlib.dll" (Dest As Any, destLen As Any, Src As Any, ByVal srcLen As Long) As Long Declare Function uncompress Lib "Zlib.dll" (Dest As Any, destLen As Any, Src As Any, ByVal srcLen As Long) As Long‘variabili globali necessarie nel processo di compressione – decompressione Private OriginalSize As Long Private CompressedSize As LongPublic Function CompressData(TheData() As Byte) As Long‘questa funzione riceve per riferimento un array di bytes in ‘TheData e salva nella variabile globale OriginalSize le ‘dimensioni originali dell’array ‘restituisce 0 se tutto è andato a buon fineOriginalSize = UBound(TheData) + 1'Crea un buffer temporaneo Dim BufferSize As Long Dim TempBuffer() As Byte BufferSize = UBound(TheData) + 1‘zlib richiede questo tipo di dimensionamento per il buffer temporaneo BufferSize = BufferSize + (BufferSize * 0.01) + 12 ReDim TempBuffer(BufferSize)'Comprime i dati Result = compress(TempBuffer(0), BufferSize, TheData(0), UBound(TheData) + 1)'Tronca l’array risultante fino a dove effettivamente utilizzato, copiandolo dal ‘buffer temporaneo a TheData (l’array originale ReDim Preserve TheData(BufferSize - 1) CopyMemory TheData(0), TempBuffer(0), BufferSize'Elimina il buffer Erase TempBuffer'Imposta la variabile globale per salvare la dimensione dei dati compressi If Result = 0 Then CompressedSize = UBound(TheData) + 1'Restituisce un eventuale codice d’errore CompressData = Result End FunctionPublic Function DecompressData(TheData() As Byte, OrigSize As Long) As Long‘questa funzione riceve per riferimento un array contenente dati ‘compressi in TheData e la dimensione originale in OrigSize ‘restituisce 0 se tutto è andato a buon fine 'Crea il buffer temporaneo per la decompressione… Dim BufferSize As Long Dim TempBuffer() As Byte‘… dimensionandolo secondo le specifiche zlib BufferSize = OrigSize BufferSize = BufferSize + (BufferSize * 0.01) + 12 ReDim TempBuffer(BufferSize)'Decomprime I dati Result = uncompress(TempBuffer(0), BufferSize, TheData(0), UBound(TheData) + 1)'Ridimensiona gli array ReDim Preserve TheData(BufferSize - 1) CopyMemory TheData(0), TempBuffer(0), BufferSize'Resetta le variabili globali If Result = 0 Then CompressedSize = 0 OriginalSize = 0 End If'Restituisce eventuali codici d’errore DecompressData = Result End Function
如果楼主需要简单的,每个字节异或是最简单的,但是也是最不安全的下面的函数需要传递被压缩或者解压缩的数组,然后将这个数组内容二进制写入就可以了,读取的时候也用二进制
字符串转化数组就不用我说了吧Option Explicit
‘copia un numero cbCopy di bytes da un indirizzo di memoria ad un altroDeclare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"
(hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)‘queste funzioni comprimono e decomprimono un array di bytes
Declare Function compress Lib "Zlib.dll" (Dest As Any, destLen As Any, Src As Any, ByVal srcLen As Long) As Long
Declare Function uncompress Lib "Zlib.dll" (Dest As Any, destLen As Any, Src As Any, ByVal srcLen As Long) As Long‘variabili globali necessarie nel processo di compressione – decompressione
Private OriginalSize As Long
Private CompressedSize As LongPublic Function CompressData(TheData() As Byte) As Long‘questa funzione riceve per riferimento un array di bytes in
‘TheData e salva nella variabile globale OriginalSize le
‘dimensioni originali dell’array
‘restituisce 0 se tutto è andato a buon fineOriginalSize = UBound(TheData) + 1'Crea un buffer temporaneo
Dim BufferSize As Long
Dim TempBuffer() As Byte
BufferSize = UBound(TheData) + 1‘zlib richiede questo tipo di dimensionamento per il buffer temporaneo
BufferSize = BufferSize + (BufferSize * 0.01) + 12
ReDim TempBuffer(BufferSize)'Comprime i dati
Result = compress(TempBuffer(0), BufferSize, TheData(0), UBound(TheData) + 1)'Tronca l’array risultante fino a dove effettivamente utilizzato, copiandolo dal
‘buffer temporaneo a TheData (l’array originale
ReDim Preserve TheData(BufferSize - 1)
CopyMemory TheData(0), TempBuffer(0), BufferSize'Elimina il buffer
Erase TempBuffer'Imposta la variabile globale per salvare la dimensione dei dati compressi
If Result = 0 Then CompressedSize = UBound(TheData) + 1'Restituisce un eventuale codice d’errore
CompressData = Result
End FunctionPublic Function DecompressData(TheData() As Byte, OrigSize As Long) As Long‘questa funzione riceve per riferimento un array contenente dati
‘compressi in TheData e la dimensione originale in OrigSize
‘restituisce 0 se tutto è andato a buon fine
'Crea il buffer temporaneo per la decompressione…
Dim BufferSize As Long
Dim TempBuffer() As Byte‘… dimensionandolo secondo le specifiche zlib
BufferSize = OrigSize
BufferSize = BufferSize + (BufferSize * 0.01) + 12
ReDim TempBuffer(BufferSize)'Decomprime I dati
Result = uncompress(TempBuffer(0), BufferSize, TheData(0), UBound(TheData) + 1)'Ridimensiona gli array
ReDim Preserve TheData(BufferSize - 1)
CopyMemory TheData(0), TempBuffer(0), BufferSize'Resetta le variabili globali
If Result = 0 Then
CompressedSize = 0
OriginalSize = 0
End If'Restituisce eventuali codici d’errore
DecompressData = Result
End Function
如果只是一般的简单加密,把每个字符与某特定数字进行异或就可以了。