有没有办法将包含数据库的.mat
文件保存为加密文件。我希望只有我的程序(GUI)可以读取这些.mat
文件,而不是其他用户通过直接在MATLAB中打开文件来读取。
这个链接可能会有所帮助,但我对这个页面的定义不太熟悉。你能详细描述一下吗?: 序列化/反序列化
谢谢。
A=[1,2,3,4;5,6,7,8]; % your data (double) in your GUI
B=[0,1,1,0,1]==1; % your data (logical) in your GUI
pw='user2991243'; % make up a 'password' as variable in the GUI
% call this from your GUI function
function CreateHiddenData(A,B)
fid=fopen('hiddendata.m','w');
fprintf(fid, '%s\n', 'if strcmp(''user2991243'',pw)');
% for a double
str='A=[';
for k=1:size(A,1)
str=[str num2str(A(k,:)) ';'];
end
str=[str '];'];
fprintf(fid, '%s\n', str);
% for a logical
str='B=[';
for k=1:size(B,1)
str=[str num2str(B(k,:)) ';'];
end
str=[str ']==1;'];
fprintf(fid, '%s\n', str);
fprintf(fid, '%s\n', 'end');
fclose(fid);
pcode hiddendata
delete('hiddendata.m')
end
对于你的程序,你可以直接调用.p文件,它会将变量加载到工作区中。(尽管这样会覆盖所有具有相同名称的变量)
pcode
,或许它能帮到你。
%for a double
和%for a logical
,它会更有用。再次感谢。 - EghbalError using open (line 162), cannot edit the P-file
。谢谢。 - Eghbalnum2str
。我们需要一个新的函数。+在某些单元格中,我没有数字。我有像名字这样的字符串。 - Eghbal