作者kiey (煉)
看板PHP
標題[請益] mysql 存入加密、PHP 取出解密問題
時間Mon Oct 28 14:34:50 2013
想請教一下版上高手
我要把一段寫入 資料庫
但是內容會有一些 id 不方便透露、可是那些 id 是要放到網址使用
並在 PHP 裡面讀出去做一些判斷
所以我想說要用 TO_BASE64('base64 encoded string') 去儲存
但是都會跑出
#1305 - FUNCTION TableName.TO_BASE64 does not exist
不知道 版上高手是否知道是哪裡出錯了呢?
還是可以建議一下 mysql 用什麼 加密 、 PHP 可以解密的方法呢?
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.173.186.148
1F:→ kiey:試著改用 ENCODE 但是 decode 出來 竟然不一樣~"~ 10/28 15:06
2F:→ kiey:SELECT ENCODE('123','mykeystring' )->7a7487 10/28 15:07
3F:→ kiey:SELECT DECODE('7a7487','mykeystring') -> 9c6f38d507e0 10/28 15:07
4F:→ MOONRAKER:阿就沒有TO_BASE64()阿 他不是跟你講很清楚 10/28 15:22
5F:→ MOONRAKER:在php裡做有什麼困難嗎 為何非要在資料庫做 10/28 15:23
6F:→ kiey:這功能是要寄信給 符合條件的 User ... 可能會有 幾千人.. 10/28 15:37
7F:→ kiey:所以用 INSERT INTO (..) select (...) from (所有人的ID) 10/28 15:37
8F:→ kiey:如果要用 php 做 、 等於我還要去跑迴圈... 10/28 15:38
9F:→ kiey:使用者 等 幾千人的迴圈 然後在寄信...應該會以為當掉了吧 10/28 15:39
10F:→ alpe:請跑背景... 10/28 16:28
11F:→ MOONRAKER:你以為在資料庫底層就不會跑迴圈的嗎…才幾千人是多大, 10/28 17:28
12F:→ MOONRAKER:你是每秒都要寄信嗎…批次做的事當成interactive咧… 10/28 17:31
13F:→ danny8376:SQL做也是會停在哪等... 在說這樣還加重DB的負擔 10/28 19:45
14F:→ danny8376:再說base64沒啥加密效果... 蠻容易看到一些特徵的 10/28 19:46
15F:→ kosjason:幾千人而已 你太小看PHP + Mysql了 10/28 22:57
16F:→ gname:寄信這件事,還是丟到背景去吧,如果沒有特殊需求的話... 10/29 09:23
17F:→ gname:另外, BASE64可以轉回來,拿它做加密......這個嘛... 10/29 09:25
18F:推 plok74122:xor吧 10/29 16:34
19F:→ kiey:後來 在資料庫 安裝了 base64.sql 就解決了.... 10/29 18:05
20F:→ kiey:可能我電腦慢吧 ... User 有 205911 找 1XXX 多人 就會花 10/29 18:06
21F:→ kiey:很久的時間.... 所以我還是 比較偏向 可以不跑迴圈 就不要用 10/29 18:07
22F:→ kiey:然後 加密 只是 不希望 User id 被看到, 因為id 是用 10/29 18:09
23F:→ kiey:md5(uniqid()) 、 所以被看到也沒差啦.. 加密心酸的 XD 10/29 18:10
24F:→ kiey:總之 謝謝樓上高手的建議... 有做出來就好 Q_Q 10/29 18:10
25F:→ danny8376:如果是這樣把MD5轉成數字就夠"加密"了XD 10/29 21:16
26F:→ chenlarry:個人也同意上面的說法..如果可以,不要去加重db的負擔.. 10/29 22:32