Ⅰ 如何利用MySQL資料庫自帶加密函數進行加密
保護些數據免受黑客或者窺探者獲取令關注重要問題您既能讓未經授權員使用或者破壞應用程序同要保證您競爭優勢幸運MySQL帶設計用提供種類型安全加密函數本文概述其些函數並說明何使用及能夠提供同級別安全雙向加密讓我簡單加密始:雙向加密段數據通密鑰加密能夠由知道密鑰解密mysql兩函數支持種類型加密別叫做ENCODE()DECODE()面簡單實例:mysql>
INSERT
INTO
users
(username,
password)
VALUES
('joe',
ENCODE('guessme',
'abracadabra'));
Query
OK,
1
row
affected
(0.14
sec)其Joe密碼guessme通密鑰abracadabra加密要注意加密完結二進制字元串所示:mysql>
SELECT
*
FROM
users
WHERE
username='joe';
+----------+----------+
|
username
|
password
|
+----------+----------+
|
joe
|
03?i?!?
|
+----------+----------+
1
row
in
set
(0.02
sec)abracadabra密鑰於恢復原始字元串至關重要密鑰必須傳遞給DECODE()函數獲原始、未加密密碼面使用:mysql>
SELECT
DECODE(password,
'abracadabra')
FROM
users
WHERE
username='joe';+---------------------------------+
|
DECODE(password,
'abracadabra')
|
+---------------------------------+
|
guessme
|
$query
=
"SELECT
COUNT(*)
FROM
users
WHERE
username='$inputUser'
AND
DECODE(password,
'abracadabra')
=
'$inputPass'";?>提示:雖ENCODE()DECODE()兩函數能夠滿足數要求候您希望使用強度更高加密手段
Ⅱ sql數據加密有幾種方法
對sql中的數據進行加密,有5種方法,
1、利用CONVERT改變編碼方式:
利用該函數把文字或數據轉換成VARBINARY。但該方式不具備保護數據的能力,僅避免瀏覽數據的過程中能直接看到敏感數據的作用。
2、利用對稱密鑰:
搭配EncryptByKey進行數據加密。使用DecryptByKey函數進行解密。這種方式比較適合大數據量。因為對稱密鑰的過程耗用資源較少。
3、利用非對稱密鑰:
搭配EncryptByAsymKey進行數據加密。使用DecryptByAsymKey函數進行解密。用於更高安全級別的加解密數據。因為耗用資源叫多。
4、利用憑證的方式:
搭配EncryptByCert進行加密和DecryptByCert函數進行解密。比較類似非對稱密鑰。
5、利用密碼短語方式:
搭配EncryptBypassPhrase進行加密,使用DecryptByPassPhrase函數來解密。可以使用有意義的短語或其他數據行,當成加密、解密的關鍵字,比較適合一般的數據加解密。
(2)自帶各種加密函數擴展閱讀:
sql資料庫的組成:
在正式學習SQL語言之前,首先讓我們對SQL語言有一個基本認識,介紹一下SQL語言的組成:
1、一個SQL資料庫是表(Table)的集合,它由一個或多個SQL模式定義。
2、一個SQL表由行集構成,一行是列的序列(集合),每列與行對應一個數據項。
3、一個表或者是一個基本表或者是一個視圖。基本表是實際存儲在資料庫的表,而視圖是由若干基本表或其他視圖構成的表的定義。
4、一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲上一個物理文件對應。
5、用戶可以用SQL語句對視圖和基本表進行查詢等操作。在用戶角度來看,視圖和基本表是一樣的,沒有區別,都是關系(表格)。
6、SQL用戶可以是應用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語言等。
SQL用戶也能作為獨立的用戶介面,供交互環境下的終端用戶使用。
參考資料來源:網路-SQL資料庫
Ⅲ VB 加密與解密的程序代碼
加密:
PrivateFunction JiaMi(ByVal varPass As String) As String '參數varPass是需要加密的文本內容
Dim varJiaMi As String * 20
Dim varTmp As Double
Dim strJiaMi As String
Dim I
For I = 1 To Len(varPass)
varTmp = AscW(Mid$(varPass, I, 1))
varJiaMi = Str$(((((varTmp * 1.5) / 5.6) * 2.7) * I))
strJiaMi = strJiaMi & varJiaMi
NextI
JiaMi = strJiaMi
EndFunction
解密函數:
PrivateFunction JieMi(ByVal varPass As String) As String '參數varPass是需要解密的密文內容
Dim varReturn As String * 20
Dim varConvert As Double
Dim varFinalPass As String
Dim varKey As Integer
Dim varPasslenth As Long
varPasslenth = Len(varPass)
For I = 1 To varPasslenth / 20
varReturn = Mid(varPass, (I - 1) * 20 + 1, 20)
varConvert = Val(Trim(varReturn))
varConvert = ((((varConvert / 1.5) * 5.6) / 2.7) / I)
varFinalPass = varFinalPass & ChrW(Val(varConvert))
NextI
JieMi = varFinalPass
EndFunction
注意事項
編寫加密程序,將用戶輸入的一個英文句子加密為加密字元串,然後輸出加密字元串。假設句子長度不超過100個字元。
根據給定的句子加密函數原型SentenceEncoding,編寫函數SentenceEncoding調用給定的字元加密函數CharEncoding完成句子加密。
然後,編寫主程序提示用戶輸入英文句子,然後調用函數SentenceEncoding對句子加密,最後輸出加密後的句子。
字元加密規則為大寫字母和小寫字母均加密為其補碼, 我們定義ASCII碼值相加為』A』+』Z』即155的兩個大寫字母互為補碼,ASCII碼值相加為』a』+』z』即219的兩個小寫字母互為補碼。
空格用@代替,句號以#代替,其它字元用句點代替。
函數原型:
void SentenceEncoding(char *soure,char *code);
功能:對待加密字元串source加密後保存加密字元串到code.
參數:char *soure,指向待加密句子的字元串指針;
char *code 指向加密字元串的字元串指針;
字元加密函數代碼。
Ⅳ javascript是不是自帶了base64加密、解密函數是什麼
是的,解密函數為:
window.btoa("test");//"dGVzdA=="
window.atob("dGVzdA==");//"test"
為什麼要使用Base64加密呢?
Ⅳ GBase8a MPP中都有哪些加密函數
你好,有以下幾種
AES_ENCRYPT(str,key_str)這個函數允許使用官方的 AES 演算法加密數據,曾稱為「Rijndael」。該編碼使用密鑰的長度為 128 位。輸入參數可以是任意長度。如果參數是 NULL,函數的返回結果也是 NULL;如果 AES_DECRYPT()探測到無效的數據或者不正確的補位,會返回 NULL。AES_ENCRYPT()是目前 GBase 8a MPP Cluster 中最有加密安全性的函數。
ENCRYPT(str[,salt])使用 Linux 的 crypt()系統調用來加密 str。參數 salt 是一個至少包含兩個字元的字元串。如果 salt 沒有給定,會使用一個隨機數值。
MD5(str)為字元串計算一個 128 位的 MD5 校驗和,結果作為 32 位 16 進制字元串返回,返回值可以用作哈希密鑰。如果參數為 NULL 則返回 NULL。
SHA1(str),SHA(str)按照 RFC3174(安全哈希演算法)中介紹的那樣,為字元串計算一個 160 位的 SHA1校驗和,結果作為 40 位 16 進制字元串返回;若 str 的值為 NULL,則返回 NULL。常用的就是作為哈希密鑰。用戶還可以用它作為一個加密安全函數來存儲密碼。
o_base64(str)對數據實現 base64 編碼加密。參數 str 允許的最大長度 12419496(byte),超長報錯。