1
我試圖插入到我的sqlite3數據庫,一個加密的用戶名,但其包括b'
繼續實際值。插入字節數據到Sqlite沒有b'之前
這對我的應用程序造成了問題。
我的代碼如下所示:
hashed_username = enc(prompt_account_username, salt)
print('\n\nusername: {}\n\n'.format(hashed_username))
此打印:
username:
b'sc\x00\x02\x16\x88\x04\xa2\x9d\xb9!\xe0\x9e-5\xb3\x8a\xd8r\xbc\x83\x01\r\x98\xb1\xe3\xb2i=\x16\xc8Y\xbe\xdd\x0f\x8e\x8c\xa2\xb0\xd0R\xf7gx2\x1d\xfb\xfeX\xda\xb9Y\xd6Ls\x88\xaa<\x9c\x12\xf3\xbeq\r\x8d\xcb\xc0\x8adF\x1dl\xc5\xde'
這是再插入這個完整的字節值,包括b'
當我運行:
conn.execute("""
INSERT INTO my_acct
(acct_username)
VALUES (?) """, (v[0],)
)
我怎樣才能得到它插入,剛值,沒有b'
,值,如:
sc\x00\x02\x16\x88\x04\xa2\x9d\xb9!\xe0\x9e-5\xb3\x8a\xd8r\xbc\x83\x01\r\x98\xb1\xe3\xb2i=\x16\xc8Y\xbe\xdd\x0f\x8e\x8c\xa2\xb0\xd0R\xf7gx2\x1d\xfb\xfeX\xda\xb9Y\xd6Ls\x88\xaa<\x9c\x12\xf3\xbeq\r\x8d\xcb\xc0\x8adF\x1dl\xc5\xde
謝謝
當我嘗試這個: 插入:名稱'緩衝區'未定義。 SQL看起來像:conn.execute(「」「INSERT INTO my_acct(acct_username)VALUES(?)」「」,(buffer(v [0]),))。我究竟做錯了什麼? – CodeTalk
'buffer'是一個python 2內建的。我猜你正在使用python 3,所以在這種情況下,你可以用'memoryview'替換它。我更新了我的答案 – arainone
非常感謝! – CodeTalk