password():建立乙個經過加密的密碼字串,適合於插入到mysql的安全系統。該加密過程不可逆,和unix密碼加密過程使用不同的演算法。主要用於mysql的認證系統。
encrypt(,) aes_decrypt( , ):使用unix crypt()系統加密字串,encrypt()函式接收要加密的字串和(可選的)用於加密過程的salt(乙個可以唯一確定口令的字串,就像鑰匙一樣)。加密程度比encode較強。注意,windows上不支援。
encode(,) decode(,):加密解密字串。該函式有兩個引數:被加密或解密的字串和作為加密或解密基礎的金鑰。encode結果是乙個二進位制字串,以blob型別儲存。加密成度相對比較弱。
md5():計算字串的md5校驗和(128位),sha5():計算字串的sha5校驗和(160位),這兩個函式返回的校驗和是16進製制的,適合與認證系統中使用的口令。
1、建測試表
create table `tab_col_encrypt` (
`id` int(11) default null,
`user_name` varchar(10) default null,
`passwd_aes_encrypt` blob,
`passwd_encode` blob
) engine=innodb default charset=utf8;
2、插入測試資料
insert into tab_col_encrypt(id,user_name,passwd_aes_encrypt,passwd_encode)
values(1,'jingsp',aes_encrypt('123456','kitty'),encode('123456','kitty'));
3、檢視加密資料
select id,user_name,aes_decrypt(passwd_aes_encrypt,'kitty') passwd_aes_encrypt,passwd_aes_encrypt passwd_aes_encrypt_blob,decode(passwd_encode,'kitty') passwd_encode,passwd_encode passwd_encode_blob from tab_col_encrypt;
select id,user_name,aes_decrypt(passwd_aes_encrypt,'kitty1') passwd_aes_encrypt,decode(passwd_encode,'kitty1') passwd_encode from tab_col_encrypt;
4、其他
show full columns from tab_col_encrypt;
select old_password('111111');
select password('111111');
select md5('pa55word');
MySQL資料字段屬性
mysql有如下字段屬性 作用 可以讓空間增長一倍,只能使用在整型中使用。例子 create table test id intunsignednot null 注意 上面的id定義為無符號型別的,所以不能新增負值。作用 在位數不夠時,前面用0補充。例子 id int 5 zerofill 當你輸入...
mysql資料字段屬性
unsigned 宣告無符號的資料型別。可是原資料儲存型別容量變大一倍。如int 2的64次方到2的64次方 1 用unsifned可以是範圍變成0 2的65次方 zerofill只能在資料型別前導0,及產生效果 0001,auto increment 自動增長型別,自增加一 unique 唯一索引...
初識mysql資料字段屬性 初識MySQL
mysql與sql server相比的優勢 執行速度快.mysql體積小,命令執行的速度快.使用成本低.mysql是開源的,且提供免費版本,對大多數使用者 我這樣的 來說大大降低了使用成本.容易使用.與其他大型資料庫的設定和管理相比,其複雜程度較低,易於使用.可移植性強.mysql能夠執行在多種系統...