MATLAB的.mat文件将在40-50人之间共享,其中将包括成本数字。这个.mat用于一些详细的计算,但是成本数字不应该公开,除了极少数人(40-50人中有1-2人)。
因此,1-2人希望保留此.mat文件的“公开”版本
a.dim.a = 1
a.dim.b = 2
a.dim.c = 3
a.cost.x = 11
a.cost.y = 12然后将“隐藏”版本放在共享驱动器上,供其他所有人使用。
a.dim.a = 1
a.dim.b = 2
a.dim.c = 3
a.cost.x = ADSAUJ#$#I
a.cost.y = SDHAUWH#@$请注意,m脚本正在处理此.mat文件,因此密钥对加密是不正确的,因为这不是我们试图阻止第三方窥探我们的数据的情况。这是关于让一些人的生活变得有点困难,但如果他们努力工作,他们可能会揭露数字。那么我想问一下,您认为最好的方法是什么?
发布于 2015-11-25 10:28:25
事实上,数据在结构中并不是真正相关的,问题是如何加密数据,不幸的是MATLAB没有内置的加密函数。但是不要害怕,因为它们可以在Java中找到--它可以从MATLAB访问。
您可以根据自己的需求调整the following:
import javax.crypto.Cipher;
% The text to encrypt.
plaintext = 'foobar';
% Use RSA
cipher = Cipher.getInstance('RSA');
% Generate a key pair
keygen = java.security.KeyPairGenerator.getInstance('RSA');
keyPair = keygen.genKeyPair();
cipher.init(Cipher.ENCRYPT_MODE, keyPair.getPrivate());
% Convert your input to bytes
plaintextUnicodeVals = uint16(plaintext);
plaintextBytes = typecast(plaintextUnicodeVals, 'int8');
% Encrypt
ciphertext = cipher.doFinal(plaintextBytes)' %'
% And decrypt again...
cipher.init(Cipher.DECRYPT_MODE, keyPair.getPublic());
decryptedBytes = cipher.doFinal(ciphertext);
decryptedText = char(typecast(decryptedBytes, 'uint16'))'https://stackoverflow.com/questions/33907319
复制相似问题