2016-07-07 9 views
1

mysql에서 AES를 사용하여 텍스트를 암호화하려고하지만 varbinary를 사용하여 저장해야하므로 약간의 문제가 있습니다.내 텍스트의 길이를 모르면 varbinary를 어떻게 사용합니까?

내 데이터 유형 중 일부는 varchar이고 예, 아마도 내 varbinary의 길이를 알아낼 수 있습니다. 그러나 내 주소 필드의 경우 TEXT 데이터 유형을 사용합니다. 중국어 주소가 저장되어 있으며이 주소는 매우 길 수 있습니다. mysql에서 길이를 지정할 필요가 없기 때문에 TEXT 데이터 유형을 사용합니다.

문제는 varbinary를 사용하면 길이를 지정해야하며 주소 길이가 다를 수 있기 때문에 길이를 알 수는 없습니다.

데이터의 길이를 지정할 필요가없는 AES에 사용할 수있는 일종의 이진 데이터 유형이 있습니까?

+1

'blob'또는 2 진수 객체 뒤에 있습니다. 'varbinary'가'varchar'와 charset-less 인 경우,'blob'은'text'와 같습니다. – Mjh

+0

감사합니다. 답변으로 의견을 남기면 –

+1

을 투표 할 수 있습니다. @Mjh 그건 이진입니다. * 큰 * 내가 실수하지 않는다면 객체. 또한 [MEDIUMBLOB]과 [LARGEBLOB'] (http://stackoverflow.com/a/5775601/589259)이 있기 때문에 이것을 Binary * Long * Object라고 부르는 것은 독자를 혼동시킬 수 있습니다. 그렇지 않으면 힌트는 물론 OK입니다. –

답변

2

의견에 따르면 - BLOB 데이터 형식이 필요합니다. 이진 대형 개체 (설명을 위해 Maarten Bodewes에게 감사드립니다).

BLOB 데이터 유형은 정보가 포함 된 문자 집합을 저장하지 않으며 문자 집합없이 TEXT 유형과 동일합니다. 의견에서 언급했듯이 MEDIUMBLOB, TINYBLOB, LARGEBLOB과 같은 다른 유형이 있으며 모두 MySQL's manual page에 해당됩니다.