C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[12]: crypt関数のコンパイルエラーの原因がわかりません。


(過去ログ 92 を表示中)

[トピック内 13 記事 (1 - 13 表示)]  << 0 >>

■55014 / inTopicNo.1)  crypt関数のコンパイルエラーの原因がわかりません。
  
□投稿者/ ジョナサン (1回)-(2010/11/14(Sun) 11:54:52)

分類:[C/C++] 

開発環境:WindowsXP、MSDevelopmentEnvironment2003、VC++.net

VC++初心者です。
Crypt関数を使ってDES暗号化を行おうとしていますが、コンパイルエラーが出て解決できません。
何か引用するものが足りないのか、それともそもそも以下のような使い方はできないのでしょうか。

エラー内容は以下の通りです。
error C3861:'crypt':識別子は引数依存の照合を使用しても見つかりません。
crypt.hをincludeして、encrypted=crypt(unencrypted, salt)で呼び出しを行っています。

PHP、PERLで使用しているcrypt関数の結果と同じ結果をC、PHP、PERL以外の方法で出したいという
目的があります。ちなみに、VB.netでDESCryptoServiceProviderを使用した方法では同じ結果は
得られませんでした。

どなたかご存知の方がいらっしゃいましたら、ご教示お願いいたします。
引用返信 編集キー/
■55022 / inTopicNo.2)  Re[1]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ Azulean (641回)-(2010/11/15(Mon) 06:28:59)
No55014 (ジョナサン さん) に返信
> エラー内容は以下の通りです。
> error C3861:'crypt':識別子は引数依存の照合を使用しても見つかりません。
> crypt.hをincludeして、encrypted=crypt(unencrypted, salt)で呼び出しを行っています。
単純に crypt 関数がないというオチではないでしょうか。
gcc にはあると思いますが。
(2003 の環境を用意できていないので検証していません)

> PHP、PERLで使用しているcrypt関数の結果と同じ結果をC、PHP、PERL以外の方法で出したいという
> 目的があります。ちなみに、VB.netでDESCryptoServiceProviderを使用した方法では同じ結果は
> 得られませんでした。
検証していませんが、.NET で実現するサンプル(C#)はありそうですね。

http://www.codeproject.com/KB/cs/unixcrypt.aspx
http://www.codeproject.com/KB/cs/NET_Encrypt_Decrypt.aspx
引用返信 編集キー/
■55034 / inTopicNo.3)  Re[2]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ 774RR (564回)-(2010/11/15(Mon) 12:37:41)
ウチは Visual C++ 2005 だけど、単体では crypt() 関数も、そもそも crypt.h も無い。
その crypt.h ってどこから持ってきたの?

とりあえず自作推奨。
引用返信 編集キー/
■55051 / inTopicNo.4)  Re[3]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ ジョナサン (3回)-(2010/11/16(Tue) 02:07:06)
Azuleanさんへ

ありがとうございます。
さっそくサンプルを見てみます。
引用返信 編集キー/
■55052 / inTopicNo.5)  Re[4]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ ジョナサン (4回)-(2010/11/16(Tue) 02:13:20)
774RRさんへ

返信ありがとうございます。
crypt.hは確かMSDNLibraly(?)のCDにあったものを使っています。
WEB上にあったC++暗号化サンプルを見てcript.hを知り、探し出して、
サンプルをまねてみたら、エラーでひっかかかったといった次第です。

引用返信 編集キー/
■55053 / inTopicNo.6)  Re[5]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ 囚人 (563回)-(2010/11/16(Tue) 04:13:34)
そのサンプルのサイトURLを出してみたらどうです?
物が分からんことには何とも。
引用返信 編集キー/
■55094 / inTopicNo.7)  Re[6]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ ジョナサン (5回)-(2010/11/16(Tue) 20:54:14)
囚人さんへ

返信ありがとうございます。
URLは以下です。

http://program.station.ez-net.jp/special/system/linux/adduser.asp

初心者の私にでもわかる簡単なソースです。
(エラー出てるから結局はわかってないのですが・・)
でもC++とcrypt関数のサンプルって他のURLではあまり見かけません。

引用返信 編集キー/
■55097 / inTopicNo.8)  Re[7]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ ジョナサン (6回)-(2010/11/16(Tue) 21:25:04)
Azuleanさんへ

ご紹介頂いた以下URLからダウンロードし、拝見いたしました。
http://www.codeproject.com/KB/cs/unixcrypt.aspx
は私がVB.netで試したのと同じDESCryptoServiceProviderを使ったものですね。
残念ながらcrypt関数と同じ結果にはなりませんでしたので、これも同じかと・・・。

http://www.codeproject.com/KB/cs/NET_Encrypt_Decrypt.aspx
は私には難しすぎる内容です。DESアルゴリズムをコードしたものですね。
DESCryptoServiceProviderとは別に、やはりDESアルゴリズムをコードした
サンプルを元にVBで作成してみましたが、結果は違いました。
C++初心者の私にはとても難しそうですが、(試してみようか)ちょっと考えて
みます。でもありがとうございました。
引用返信 編集キー/
■55117 / inTopicNo.9)  Re[8]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ 囚人 (564回)-(2010/11/17(Wed) 12:37:14)
>http://program.station.ez-net.jp/special/system/linux/adduser.asp
で使ってる、crypt 関数と

>crypt.hは確かMSDNLibraly(?)のCDにあったものを使っています。

の crypt 関数は同じなわけです? 最低でも引数の型と数は同じ?

どうも準備段階から何してるのかさっぱり伝わってこないのですが、自分が使ってる crypt.h(および実装)を確認してみては?
引用返信 編集キー/
■55129 / inTopicNo.10)  Re[9]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ ジョナサン (8回)-(2010/11/17(Wed) 22:14:25)
囚人さんへ

ありがとうございます。
確かにバージョン等の違いや、同じ名前でも別場面用に用意されたものなのかも
しれません。crypt.hについても現在確認中なのですが、明確な答えはまだ
見つけ出せておりません。
引用返信 編集キー/
■55134 / inTopicNo.11)  Re[10]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ 囚人 (565回)-(2010/11/18(Thu) 00:43:51)
No55129 (ジョナサン さん) に返信
> 囚人さんへ
>
> ありがとうございます。
> 確かにバージョン等の違いや、同じ名前でも別場面用に用意されたものなのかも
> しれません。crypt.hについても現在確認中なのですが、明確な答えはまだ
> 見つけ出せておりません。


そもそもOSが違いますしね。
引用返信 編集キー/
■55137 / inTopicNo.12)  Re[11]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ 774RR (566回)-(2010/11/18(Thu) 07:05:34)
結局のところ何を悩んでいるのかまったくわからない・・・

crypt の中身を理解したいとか、自作したいとか、そういう話ぢゃなくて
単に使いたいだけなんだよね?ならば既にあるソースを持ってくるだけ。

crypt() って DES または MD5 による単方向ハッシュを実装しているだけなんで、実装は公知。
その辺に転がっている POSIX ライブラリソースを引っ張ってくればいい。
glibc や postgresql などのソースをダウンロードすれば中に入っている。
Windows 上でも(わずかに修正すれば)コンパイルできるはずだ。

crypt.c つまり C で書かれた関数を C++ から呼び出すことは何一つ問題なく可能。
引用返信 編集キー/
■55211 / inTopicNo.13)  Re[12]: crypt関数のコンパイルエラーの原因がわかりません。
□投稿者/ ジョナサン (10回)-(2010/11/21(Sun) 20:38:15)
囚人さん、774RRさんはじめご意見を頂いたみなさまへ

うまくやりたいことを伝えられず申しわけありませんでした。
わけあってPHP、PERLで使用しているcrypt関数の結果と同じ結果をC、PHP、PERL以外の方法で
だしたかっただけなのですが、以下URLにあったサンプルをそのまま使用したところ、
思いがかないました。

http://michael.dipperstein.com/crypt/crypt3.c

いろいろとご支援頂きありがとうございました。
この件はクローズさせていただきます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -