Oooh that may do it. I’ll try when I get the chance. Sent from my iPhone
> On Jun 4, 2022, at 06:31, Brian Milby via use-livecode > <use-livecode@lists.runrev.com> wrote: > > Is this the issue? > > To pass binary data in an array element, prepend "*b" to the element's key. > > Sent from my iPhone > >> On Jun 3, 2022, at 6:56 PM, Bob Sneidar via use-livecode >> <use-livecode@lists.runrev.com> wrote: >> >> Hi Doc thanks for the response. I am using aes256 encryption so an ascii >> hash is not viable. If this were a file based sqLite database I could >> perhaps change the encoding. Maybe I can with a :memory: database too! >> Here's my code. I have posted this before, it's an incredibly useful >> handler. If you provide pDBID it will ADD or REPLACE a table in that >> :memory: database. If you do NOT it will create a NEW :memory: database and >> return the database ID. The parameter pDBName is misnamed it should probably >> be pTableName. I'll fix that later. >> >> I suppose what I need is a statement to change the encoding of the database >> before I create it. >> >> put arrayToSQLite(tPasswordsDataA, ":memory:", "passwords", lMemoryDB) into >> lMemoryDB >> >> FUNCTION arrayToSQLite pArrayDataA, pDBFile, pDBName, pDBID >> put the keys of pArrayDataA into tArrayKeys >> sort tArrayKeys numeric ascending >> IF pDBFile is empty THEN put ":memory:" into pDBFile >> IF pDBName is empty THEN put "arraydata" into pDBName >> >> TRY >> if pDBID is empty then \ >> put revOpenDatabase("sqlite", pDBFile) into pDBID >> >> IF "Error" is in pDBID THEN >> return empty >> END IF >> >> put "drop table " & pDBName into tDropSQL >> revExecuteSQL pDBID, tDropSQL >> put the result into tResult >> CATCH tError >> answer tError >> IF the environment is "development" THEN exit to top ELSE quit >> END TRY >> >> -- create the table >> put "create table" && quote & pDBName & quote \ >> & cr into tCreateCommand >> put "(" & quote & "recordid" & quote && "NUMERIC PRIMARY KEY UNIQUE, " \ >> & cr AFTER tCreateCommand >> >> put the keys of pArrayDataA [1] into tRecordKeyList >> >> REPEAT for each line tRecordKey in tRecordKeyList >> if pArrayDataA [1] [tRecordKey] is an array or \ >> pArrayDataA [1] [tRecordKey] begins with "Salted__" then >> put "BLOB" into tColumnType >> else >> put VARCHAR into tColumnType >> end if >> >> put quote & tRecordKey & quote && tColumnType & "," && cr AFTER >> tCreateCommand >> END REPEAT >> >> delete char -3 to -1 of tCreateCommand >> put ")" AFTER tCreateCommand >> >> TRY >> revExecuteSQL pDBID, tCreateCommand >> put the result into tResult >> IF tResult is not 0 THEN breakpoint >> CATCH tError >> breakpoint >> END TRY >> >> put 1 into tRecordCounter >> put "recordid" & cr & tRecordKeyList into tColumns >> >> repeat with i = 1 to the number of lines of tColumns >> put ":" & i into item i of tColumnList >> end repeat >> >> put "(" & tColumnList & ")" into tColumnList >> >> -- insert data >> REPEAT for each line tKey in tArrayKeys >> put 1 into tColumnCounter >> put pArrayDataA [tKey] into tRecordDataA >> put tRecordCounter into tQueryDataA [1] >> >> REPEAT for each line tRecordKey in tRecordKeyList >> add 1 to tColumnCounter >> >> if tRecordDataA [tRecordKey] is an array then >> put arrayEncode(tRecordDataA [tRecordKey]) into tValue >> else >> put tRecordDataA [tRecordKey] into tValue >> end if >> >> put tValue into tQueryDataA [tColumnCounter] >> END REPEAT >> >> put "insert into" && pDBName && "VALUES" && tColumnList into tInsertSQL >> >> TRY >> revExecuteSQL pDBID, tInsertSQL, "tQueryDataA" >> put the result into tResult >> if the result is not a number then breakpoint >> CATCH tError >> breakpoint >> END TRY >> >> add 1 to tRecordCounter >> END REPEAT >> >> return pDBID >> END arrayToSQLite >> >> >>>> On Jun 3, 2022, at 15:04 , doc hawk via use-livecode >>>> <use-livecode@lists.runrev.com> wrote: >>> >>> A couple of lines of code with declarations, storing, and retrieving would >>> probably help. >>> >>> >>> There also might be a UTF issue (which would be beyond me)—a hash should be >>> in good old 6.5 bit ASCII, not something newfangled with eight or more bits. >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode@lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode@lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode