X

ふらっと C#,C♯,C#(初心者用) Part131 [無断転載禁止]©2ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2017/09/08(金) 18:12:11.06ID:Ej7G00WU
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part130
https://mevius.2ch.net/test/read.cgi/tech/1500327645/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
2017/10/07(土) 11:53:21.00ID:ajW7fEjK
LINQってSQLとは関係ないの?
2017/10/07(土) 12:06:27.83ID:ky0kCJyY
>>831
EntityFrameworkとLINQ to Entitiesでググってこい
LINQは単に、いろんなデータソース(DB、配列、リスト、xml)に対する処理を同じようにかける枠組み
2017/10/07(土) 12:37:22.67ID:/LXY59wR
>>831
LINQのクエリ式はSQLを参考にしてるとは思うけど
2017/10/07(土) 12:52:58.01ID:ky0kCJyY
>>833
まあ基本はメソッド式だけどね
2017/10/07(土) 15:36:39.34ID:+T+mCODn
>>830
F#
2017/10/07(土) 16:10:33.77ID:uSVuDn94
>F#
言語としては優秀なのかも知れないが
どうにも慣れない
2017/10/07(土) 20:05:34.57ID:MYJ1b1uW
君たち.netconf行ってないの?
2017/10/07(土) 20:18:52.89ID:XgJIfiWa
>>837
所用で…今YouTubeにあがってる動画見てる
2017/10/08(日) 19:11:25.29ID:fHcFBAaS
今現在使っているタブ型WebBrowserでTreeView使ってJaneみたいなブックマーク機能を取り入れたいんですが、
フォルダとファイルのツリー構造を実現するクラスが思い浮かびません、どのようなクラスを作ればよいでしょうか?
2017/10/08(日) 19:19:10.91ID:MyZuixT4
>>839
http://www.atmarkit.co.jp/fdotnet/dotnettips/260createtreeview/createtreeview.html
2017/10/08(日) 20:27:10.69ID:D0Vtmcpk
コントロールじゃなくてクラスじゃないの?
2017/10/08(日) 21:34:34.51ID:p32irLzq
乱数のとこわけワケワカメ。NextとかNextDoubleとか
2017/10/08(日) 21:36:14.51ID:fHcFBAaS
>>840
ありがとうございます、ブックマーク機能が一番骨折れそうですね
844デフォルトの名無しさん
垢版 |
2017/10/08(日) 22:34:55.91ID:jXMyRhU9
c#erの皆さんがこれだけは覚えていて損はないって言語なんですか?CとC++以外で
2017/10/08(日) 22:41:13.30ID:93IJP3PA
使えて損しないのはJavaScript
学んで損しないのはLisp
2017/10/08(日) 22:48:37.70ID:D0Vtmcpk
>>844
javascriptはクソだけど使う機会が多いので覚えたほうがいいと思う
しかも文法じゃなくてどういう風に使ってるかも含めて覚えたい

あとはpython
文字列など扱うとき便利
2017/10/08(日) 22:53:18.48ID:/QhTkQlJ
>クソだけど使う機会が多いので覚えたほうがいい
本当それなw
2017/10/08(日) 22:54:30.83ID:/QhTkQlJ
後はSQLを言語に含めて良いならSQL

個人的にはPowerShellもオススメしたい
2017/10/08(日) 22:55:30.47ID:26uLkZyR
>>848
ようやくサーバー系OSでデフォルトになったからな
2017/10/08(日) 22:56:59.48ID:FNqA9s92
つphp

掲示板ってどうやって作るんですかぁ?
って聞いてくる可愛い女の子に教えられる
851デフォルトの名無しさん
垢版 |
2017/10/08(日) 23:00:57.61ID:jXMyRhU9
皆さんありがとうございます
やっぱりweb系は覚えておいて損はないんですね
javascriptやphpはどうにも好きになれないんですが頑張ってみようかな。。
2017/10/08(日) 23:09:33.04ID:7EdoyHuq
>>851
個人的には>>846が近いけど
何をやるにせよ新しいバージョンに対応した教材を
853839
垢版 |
2017/10/08(日) 23:38:20.96ID:fHcFBAaS
TreeNodeで階層は分けれたのですがフォルダとURLの区別が付きません
お気に入りでURLとフォルダの区別をつけるようにするにはどうすればいいでしょうか?
2017/10/08(日) 23:43:44.07ID:LvJy3Cq4
>>853
Tagプロパティに何かしらのオブジェクトでも突っ込んどけ
2017/10/09(月) 07:40:56.77ID:Zzx1e3hO
>>845
おれもLisp/JavaScriptに同意
JavaScript名前が某クソ言語に似ているが面白い言語だと思う。
海外のGeekたちがその毒気に当たって色々なライブラリーが開発されて今に至る。
2017/10/09(月) 07:54:19.25ID:tvCeOLo3
需要は多いのにモジュールもろくに整備されないって変な言語だよな
Web系連中のいい加減さが現れた言語だ
2017/10/09(月) 08:01:34.71ID:pi4w3jwR
最近は状況が変わって来てるよ
とにかく古い環境で古い知識を勉強するとロクなことにならん
2017/10/09(月) 08:01:44.05ID:Zzx1e3hO
npm left-pad事件なんてわけわからんの起きるしなw
2017/10/09(月) 08:19:00.65ID:Zzx1e3hO
>>851
Webアプリの本質的な所を理解するのにはc言語でcgiやるもの面白いぞ。
2017/10/09(月) 08:59:21.14ID:UEIAYP2F
>>859
cgiレベルならCでもperlでもたいして違わない気がする
文字列操作が多い分Cでやってたら本質的でないところで面倒なだけだし
2017/10/09(月) 09:04:59.65ID:Zzx1e3hO
>>860
c言語だとWebライブラリもないし全て自前で勉強にはなるだろ。
c言語でWebアプリなんか作っても難行苦行でしかないから作らんけどね。
サイボウズはc言語で作られてるらしいね。
2017/10/09(月) 09:11:47.98ID:CsWYGxTc
べつに、perlでやってもライブラリ使わなきゃWebの勉強としては変わらんだろ。
2017/10/09(月) 10:13:02.85ID:Y2JfmrWo
C言語でやるメリットってあるのかな
サイボウズってそんなにCPU使うようなサービスだっけ
2017/10/09(月) 10:31:59.67ID:Zzx1e3hO
>>863
サイボウズは20年も前に開発されたものだからな。
当時はc言語のcgiなんて普通にあった。2chもそうだったし。
2017/10/09(月) 10:34:00.35ID:VHpEwq8w
「初心者の質問スレ」で「C#に関係ない話題はやめてください」
>>844みたいなのはマ板でやれよ。板の意図とも違う
2017/10/09(月) 10:43:38.01ID:t8KOjWoA
>>861
なんでいきなりWebライブラリの話が出てくるんだよ w
cgi って言ってるんだからhttpヘッダー+生のhtmlでやるって話だろ
2017/10/09(月) 10:49:23.90ID:EXlp17KP
>>866
スレ違い
それに生は危険
2017/10/09(月) 11:10:56.57ID:9hl0U6ca
プログラムの勉強にC#で簡単なアプリ作ってみたのだけど、配布する前に難読化した方がよいと聞いてConfuseEx試してみたらマルウェア判定されて即消されちゃうのだけど、どうしたら難読化したアプリを配布出来るのか教えて下さい
もしかして難読化する方が少数派なのでしょうか?
2017/10/09(月) 11:15:39.19ID:Vj0lVF94
>>868
難読化はITリテラシーの低い経営者を狙った詐欺
C#じゃ難読化しても技術保護にはならないし
そもそもリバースエンジニアリングされるほど高尚な物じゃないだろう?
本当に保護したい技術はサービスとして提供して物は一切公開しない
2017/10/09(月) 11:16:09.72ID:VHpEwq8w
>>868
何故難読化するのか理由がちゃんとあるのか?
隠さなければならないコードがない限り普通は難読化しない
2017/10/09(月) 11:24:51.27ID:EXlp17KP
難読化ってリフレクションには影響無いのか?
例外のスタックトレースまで難読化されるんだろ。
2017/10/09(月) 11:29:25.08ID:6DW9ok56
C#で難読化とか吹き込んだ奴に聞けよ
まともなコンサルなら耐タンパー性が必要ならまずC/C++で開発しろと言う
2017/10/09(月) 11:43:25.86ID:Zzx1e3hO
難読化ツールなんて誰も使ってないのが良く分かったw
2017/10/09(月) 11:46:23.37ID:xMCJlje6
偉そうにしょうもない解答する奴は馬鹿だから無視していいよw
2017/10/09(月) 11:48:44.68ID:T0povuKJ
難読化って言葉通り読み辛くしてるだけだからな
初心者じゃなければ解析できるんだからあまり意味がない
2017/10/09(月) 11:51:02.13ID:2VEzXzCr
難読化を重視するならUWPに移行すればいいのに
2017/10/09(月) 11:52:12.53ID:A2XN0/QV
フロー難読化もあるから初級者上級者関係ない
解析は根気があるかどうかが問題だよ
2017/10/09(月) 11:54:51.63ID:M//uOX8+
難読化の目的理解してないやつ大杉だろw
2017/10/09(月) 12:00:45.54ID:9hl0U6ca
やはり普通やらないような事なのですね
なんとなくですが理解しました!
アプリ内に書いてある文字列で別のアプリで暗号化したものを復号化してみるアプリだったのですが、文字列が丸見えらしく知り合いに聞いてみたら難読化してみたら?との事でした
要は文字列だけ隠したいのですが何かしら方法はあるものなのでしょうか?
2017/10/09(月) 12:02:01.69ID:3IBabimx
>>879
ググれ
2017/10/09(月) 12:04:20.36ID:VHpEwq8w
>>879
本来の意図が分からないが元のアプリ内の文字列を最初から暗号化したら済む
解析もできないようにしたいのだったら難読化だろうが何だろうが無理
手間がどれだけかかるかだけの違いしかない
2017/10/09(月) 12:08:39.18ID:3IBabimx
パスワード c# プログラム内
でググったら
ハッシュがどうのこうのってのは出てきた
使えるかな?
2017/10/09(月) 12:12:31.64ID:pMEz2IHg
俺が書いたコードは難読化しなくても誰にも理解出来ないよ。
2017/10/09(月) 12:35:35.80ID:M//uOX8+
>>879
それは難読化じゃなく暗号化
君もだけどその知り合いもしばいときな
2017/10/09(月) 12:45:14.62ID:c41RoAYB
ツールを使ってjsのコードを難読化し、ユーザーはツールを使ってそれを可読化する
人間って面白いね
2017/10/09(月) 12:45:28.90ID:Bjp73H7L
知り合いはともかく自分で自分をしばくのか
2017/10/09(月) 12:51:39.85ID:Zzx1e3hO
>>879
そもそも、復号キーをコードの中に埋め込んでいるのが間違いだろうけどね。
復号キーを暗号化しても復号アルゴリズムがコードの中にあったら無意味だよ。
2017/10/09(月) 12:54:13.72ID:T0povuKJ
>>887
そういう場合は秘密鍵をサーバーに、プログラムには公開鍵だけを持たせるやり方が簡単
ネットを介さない環境で使用するアプリとかなら仕様がわからんんがキーコンテナを使え
2017/10/09(月) 12:54:50.95ID:T0povuKJ
すまんレス番間違った >>879
2017/10/09(月) 13:21:52.47ID:9hl0U6ca
みなさまありがとう
アプリAで暗号化、アプリBで復号化、他者はBしか持っていないという状況を想定して、アプリB内の復号化に使う文字列をなるべく隠したくて質問させて頂きましたが難しそうですね

いろいろ素人なりに調べてみたけれどやはり秘密鍵をどうにかサーバーに置いておくのが良さそうに感じました
ただ適当なサーバーに適当に秘密鍵をアップしてもあまり意味なさそうなのでその辺りもよく考えないとダメそうですね…

ゆくゆく作りたいアプリのために始めてみましたが、ある程度解析しづらいらしいC++などで最初から考え直しても良いのかもしれません
アドバイスありがとうございました
2017/10/09(月) 13:49:55.29ID:KtpP5XlM
>>890
鍵を外部ファイルにすればいいだけだろ
なんでcでやるとかサーバー使うみたいなトンチンカンな方向に行ってしまうんだ
892デフォルトの名無しさん
垢版 |
2017/10/09(月) 14:00:57.24ID:qEhozSMZ
>>891
外部ファイルだと中身見れるから意味ないだろバカか
2017/10/09(月) 14:07:28.45ID:KtpP5XlM
>>892
ははは
2017/10/09(月) 14:13:38.87ID:T0povuKJ
外部ファイルが許されるのは入力パスワードに対してのハッシュくらいだろ
879の案件には合わない
2017/10/09(月) 14:18:01.80ID:T0povuKJ
更に外部ファイルの改竄チェックも必要になるな
2017/10/09(月) 14:21:39.53ID:KtpP5XlM
あ、ここ初心者スレだったか
2017/10/09(月) 14:22:02.94ID:6DW9ok56
Bで作った公開鍵をAに渡して暗号化させればいいだけの話でないのん
秘密鍵だけで無理にやろうとするから当たり前のように無理が出るのでは
2017/10/09(月) 14:23:03.18ID:6DW9ok56
まあ、厳密にはその場合でも、一時共有鍵は使うだろうけど
899デフォルトの名無しさん
垢版 |
2017/10/09(月) 14:40:20.42ID:qEhozSMZ
>>896
トンチンカンなバカレスするお前は初心者以下
2017/10/09(月) 14:52:27.91ID:KtpP5XlM
>>899
わからないならそう言えば?
2017/10/09(月) 14:58:22.98ID:Ow6+xo9r
>>900
関連スレに2度と来ないでくれ
902デフォルトの名無しさん
垢版 |
2017/10/09(月) 15:01:38.21ID:qEhozSMZ
>>900
じゃあ早く俺のレスに答えて
2017/10/09(月) 15:02:18.20ID:T0povuKJ
ID:KtpP5XlM はただの荒らしだろ
もう構うな
2017/10/09(月) 15:02:45.85ID:M//uOX8+
>>887
無意味ではないよ
文字列抜き出すのとアルゴリズムの解析とでは
必要な時間が全く違うからね
それこそ難読化の出番
2017/10/09(月) 15:05:23.09ID:M//uOX8+
>>890
Aに秘密鍵、Bに公開鍵で。
Aの秘密鍵を守る対策は別途必要
2017/10/09(月) 15:06:38.70ID:LtbrVXIC
埋め込みでリソース持つのと、外部ファイルで持つのってセキュリティそんなに変わらんでしょ?
2017/10/09(月) 15:07:25.29ID:ZyuEIFSh
そもそも暗号化手順+暗号キーを知られたくないならまだしも暗号キーをとにかく知られたくないというのが分からない
元の質問者は終了宣言しているし外野が条件変えながら議論しても無意味
2017/10/09(月) 15:09:31.57ID:KtpP5XlM
暗号化通信の基本もわかってないのにプログラマ名乗っちゃダメだろ君たち
909デフォルトの名無しさん
垢版 |
2017/10/09(月) 15:10:52.65ID:qEhozSMZ
>>908
逃げんな
早く答えろ
2017/10/09(月) 15:15:00.06ID:of8Vs49y
>>891
それなんの意味があるんだよ w
2017/10/09(月) 15:18:53.37ID:KtpP5XlM
公開鍵で暗号化プログラムA
秘密鍵で復号プログラムB
Bの利用者は鍵ペアを生成
外部ファイルとして秘密鍵をプログラムに渡す
公開鍵を通信相手に渡す
終わり
2017/10/09(月) 15:22:46.29ID:KtpP5XlM
コード書けりゃプログラマじゃないぞ
お前らはC#なんてやっとらんでITパスか基本情報でも取ってこい
2017/10/09(月) 15:29:43.51ID:vwGL24JO
そのまえに日本語が書けないと困るな
2017/10/09(月) 15:30:38.86ID:LtbrVXIC
そういや試験は来週ぐらいか
2017/10/09(月) 15:39:49.40ID:of8Vs49y
>>911
だからそれなんの意味があるんだよ w
>>906の意味わかってないのか?
2017/10/09(月) 15:54:47.16ID:F9+aoLk/
if(HashPasswordForStoringInConfigFile(パスワード, "sha1").ToLower() == ハッシュ文字列)
{/*編集可能処理*/}

って書いてあった
2017/10/09(月) 15:57:26.54ID:ZyuEIFSh
>>916
>>879のデータの暗号化とパスワードの認証は別の話
ハッシュで認証するから元のパスワード持っていなくていいよ、てのはわかるが
2017/10/09(月) 16:04:00.40ID:LtbrVXIC
認証したいなら個別に別ルートでパスワード発行

ユーザー全員に共通パスワード持たせたいならセキュリティ諦めてリソース持つぐらいで十分
できれば中間にAPI噛ませて何かあった時の被害をコントロールできるようにしておいたほうがいい
2017/10/09(月) 16:39:19.76ID:F9+aoLk/
>>917
単純にテキストだけの話なの?
バイナリファイル読み込め的な?
2017/10/09(月) 16:39:54.37ID:Uib+y8KD
以前List<T>オブジェクトをXmlシリアライズ・デシリアライズする拡張メソッドを作ったのですがユーザー定義クラスのときだけ動きません
public static void SaveXml<T>(this List<T> list, string path)
{
T[] xmldata = list.ToArray();

using (FileStream fs = new FileStream(path, FileMode.Create))
{
XmlSerializer xml = new XmlSerializer(typeof(T[]));

xml.Serialize(fs, xmldata);
}
}

こういった感じでList<MyData>型の変数myDataList.SaveXml("D:\hogehoge.xml")と呼ぶとxml.Serialize(fs, xmldata)のところで
System.InvalidOperationExceptionが投げられます。ただのList<string>型の場合投げられません。
どこがまちがっているでしょうか?
2017/10/09(月) 17:09:31.29ID:mhNcAFC5
とりあえずその投げられた例外をToString()して全部読んでみて
922デフォルトの名無しさん
垢版 |
2017/10/09(月) 17:14:46.63ID:qEhozSMZ
>>911
はあ?
秘密鍵丸見えじゃ無意味って理解出来ないの?
2017/10/09(月) 17:18:01.05ID:RdvZrZJ8
>>922
君は果てしなく馬鹿だね
2017/10/09(月) 17:19:21.84ID:c41RoAYB
自分だけはバカじゃないという前提
925デフォルトの名無しさん
垢版 |
2017/10/09(月) 17:23:16.60ID:qEhozSMZ
>>923
違う用途ならともかくこの件においては
データ改変できて無意味
2017/10/09(月) 17:24:22.08ID:RdvZrZJ8
>>925
そうかいじゃあやってみなよ
2017/10/09(月) 17:28:38.64ID:r14Jr9yH
>>920
型以外の条件を一切変更していないのに(ダメな人は他の条件も変えてたりするから困るw)
TがMyDataの場合だけ例外は発生するのであれば、
普通に考えてMyDataがXMLシリアル化可能な条件を満たしてないんでしょう。

例えばデフォルトコンストラクタがないとかそもそもpublicなクラスじゃないとか。
928デフォルトの名無しさん
垢版 |
2017/10/09(月) 17:28:45.97ID:qEhozSMZ
>>926
は?
間違ったやり方をやるわけないだろバカ
2017/10/09(月) 17:29:14.61ID:RdvZrZJ8
>>928
できないんだね
2017/10/09(月) 17:34:23.08ID:Uib+y8KD
>>921
できなかったのはコンストラクタ定義していたせいでした、すいません
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況