PROFIからSUPER PROFIへの質問-1. - ページ 6

 
sergeev:
GetIDは動的か?

残念ながらそうです。パラメータの値は動的に変更されるため、IDもそれに応じて変更する必要があります。
 

最も簡単な方法は、パラメータリスト全体を一つの長い文字 列に変換し、その文字列に対してより短いハッシュ関数であるMD5.を使用することです。

そうすることで、パラメータが変わっても一意性や独自性、ダイナミズムを出すことができます。

 
MD5は外部実装(例えばDLLなど)からしか取れないのでしょうか、それともMQL4、MQL5による実装のバリエーションがあるのでしょうか。
 
sergeev:

パラメータを変更しても、一意性や曖昧さがなく、ダイナミズムを感じることができます。

独自性はなくなる。
一般的には、以前からSha256を使うことが推奨されています。
というのも、Md5を指定したパスワードを生成するアルゴリズムが存在するからです。
C-4:
MD5は外部実装(例えばDLLなど)からしか取れないのでしょうか、それともMQL4やMQL5による実装のバリエーションがあるのでしょうか?
あのね...やることがないなら、Mqlでやればいい。
 
C-4:
MD5は外部実装(例えばDLLなど)からしか取れないのでしょうか、それともMQL4、MQL5による実装のバリエーションがあるのでしょうか。

アルゴリズムは、ネットで調べられると思います。

 
一般的には...パラメータと識別子の問題は、1:1 java hashCode / equals です。
すべてのパラメータをidentifierに詰め込むことができれば、すべてが思い通りになるのです。
つまり、ハッシュ関数では欲しいものが手に入らない...。
 
jartmailru:
独自性はなくなる。実際、以前からSha256への切り替えが推奨されています。
というのも、与えられたMd5でパスワードを生成するアルゴリズムが作成されているからです。

パスワードは何の関係があるのですか?:)) 私たちは、その場で作成され、パラメータごとに異なるクラス識別子について話しているのです。

----------

そして、一般的にC-4は、どうせパラメータの文字列が作られるのなら、このハッシュの意味が全くないのではと思いました。:)

2つの文字列を見比べるだけでいいんです。

 
sergeev:

パスワードは何の関係があるのですか?:)) 私たちは、その場で作成され、パラメータごとに異なるクラス識別子について話しているのです。

私の回答の要点:
1) Md5では一意な識別子が得られない
1.1) ハッシュ関数はその作業に使えない
2) Md5-おしゃれではない
はい、比較だけでいいんです。すべて配列にして、バイナリサーチ:-)。
追伸:C++では、そのためのコードを書く必要すらありません...。
 


Уникальности не будет.
И вообще уже давно рекомендуют переходить на Sha256,
потому что создан алгоритм, генерирующий пароль с заданным Md5.

暗号化対策は問題解決に必要ない。大切なのは、唯一無二の指紋を作ることです。残念ながらMD5は128ビットのハッシュコードです。MQLには、その長さの変数型はありません。そこで、もっとシンプルなAdler-32を実装して、クラスのインスタンスごとにユニークな32ビットのID番号を生成するものにしようかなと思っています。

s.w. 1.1について、もう少し詳しく教えてください。なぜできないのでしょうか?

 
jartmailru:

そう、比較対象があればいいんです。すべて配列にして、バイナリサーチ :-)。

この場合、ハッシュはなくても大丈夫です。

このバリエーションがVasilyに合っていれば、すべてのパラメータを文字列にすればいいのです。この文字列がクラス識別子となる。