MATLABのTips コードを非公開にする方法(暗号化?)

スポンサーリンク

はじめに

みなさんMATLABを使っていて、こんな時ありませんか?

  • コードを共有したいけど、中身を見せたくない
    • コードを変更・編集されたくない
    • コードについての質問されるのが面倒
    • ノウハウがつまっており公開したくない
    • なんとなく見せたくない
      などなど
  • 会社の規定で社外に情報を出すには暗号化(難読化)しないとダメ
  • コード公開することのリスクが見積もれないので、まずは暗号化して公開したい

スポンサーリンク

上記問題を解決する方法として、MATLABのファイルを非公開(難読化)にする方法を紹介させていただきます。
(MATLABのHPを調べたところ、提案する方法は”暗号化”ではなく”難読化”とのことです。)

コードの中身を非公開にする方法

みなさんがいつも使っているMATLABのコードは「mファイル」と呼ばれるファイル形式だと思います。実はmファイルとは別に「pファイル」と呼ばれるものがあります。

pファイルで保存するとコードの中身が非公開(確認できない)になります。

おそらくですが、mファイルはMATLABファイルという意味で、pファイルはプライベートファイルという意味ではないかと推察します。

例えば、下記のようなfunctionファイルがあって、これを非公開(pファイル化)にしたいとします。

function [y,z] = PcodeTest(x)

y=x.^2+x+1;
z=y.^5+x.^2.*y;

end

その場合、下記のように実行するとpファイルが作成されます。

>> pcode PcodeTest

ちなみに、画面上では下図のようになります。

スポンサーリンク

MATLABのHPにも詳細が載っていますので、もっと詳しい内容を知りたい方は読んでみてください。

コンテンツを不明瞭化した実行可能ファイルの作成 - MATLAB pcode - MathWorks 日本
この MATLAB 関数 は、検索パス上の .m ファイルまたはフォルダー内のコードを難読化し、拡張子が .p の P コード ファイルを生成します。

コメント