sqlite3 처리기에 대한 포인터를 NSData로 변환 할 수 있습니까?sqlite3 * to NSData
그러면 암호화하고 암호 해독 할 수 있습니다.
나는이 :
sqlite *sqliteHandle;
NSData *dataDB = [NSData dataWithBytes:&sqliteHandle length:sizeof(sqliteHandle)];
그러나 이것은 단지 나에게 포인터가 아닌 실제 데이터를 제공합니다.
sqlite3 처리기에 대한 포인터를 NSData로 변환 할 수 있습니까?sqlite3 * to NSData
그러면 암호화하고 암호 해독 할 수 있습니다.
나는이 :
sqlite *sqliteHandle;
NSData *dataDB = [NSData dataWithBytes:&sqliteHandle length:sizeof(sqliteHandle)];
그러나 이것은 단지 나에게 포인터가 아닌 실제 데이터를 제공합니다.
sqllite *는 SQLLite 연결 개체에 대한 포인터이므로 직접 데이터를 가져올 가능성이 없습니다. 먼저 쿼리를 실행 한 다음 결과에서 데이터를 추출해야합니다.
열의 원시 데이터를 얻으려면 sqlite3_column_blob
으로 전화하십시오.
문서를 확인하십시오. http://www.sqlite.org/capi3ref.html#sqlite3_column_blob
이것은 내가 원하는 것이 아닙니다. 전체 처리기를 NSData 개체에 넣어야합니다. –
@ user1423640 - "NSData 객체에 넣을 수있는 것이 아닙니다". SQLite는 파일 시스템에서 자체 파일을 관리하여 상당히 낮은 수준에서 레코드를 읽고 쓸 수 있습니다. 어떻게 든 I/O 호출을 차단하고 모방 파일 시스템에 매핑해야합니다. 어쩌면 재미있는 지적인 운동 일 수도 있지만, 비즈니스 관점에서는 어리 석다. –
VFS를 사용하면 어떨까요? –
'sqllite *'는 SQLLite 연결 개체에 대한 포인터이므로, 그 데이터를 직접 가져올 가능성은 없습니다. 먼저 쿼리를 실행 한 다음 결과에서 데이터를 추출해야합니다. – driis
그리고 의도가 데이터베이스를 암호화하는 것이라면 잘못된 방법입니다. SQLCipher는 유일한 방법입니다. –
음. SQLCipher는 이것을 어떻게 관리합니까? 어떤 방법이 있어야합니다. –