查看完整版本 : 有冇linux高手係編程達人,識寫演算法(algorithum)類既程式?

go2074 2012-9-18 12:24 PM

有冇linux高手係編程達人,識寫演算法(algorithum)類既程式?

如題,例如密碼破解類既algorithum,請問高手係什麼途徑學??:smile_o05:
p.s 我只識寫小小c,c++,同shell script:smile_o16:
(唔知點解版主刪左我個post,可能佢有d誤會
來自論壇系統的短消息
操作理由:
〔引發罵戰 / 與會員罵戰 -- 任何形式罵戰及惡意挑釁皆屬違規〕
其實我依個post無惡意ga,求版主okvan唔好再刪post:Q

星海揚帆 2012-9-23 06:08 PM

如果你要整特別既演算法
就要學有關既數學或者軟件工程
不過好多基本野自己動腦筋已經得
例如:整個程式產生「數獨」既謎題

go2074 2012-9-23 06:23 PM

回覆 2# 的帖子

師兄有無相關經驗?

星海揚帆 2012-9-24 11:13 PM

[quote]原帖由 [i]go2074[/i] 於 2012-9-23 18:23 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343100328&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
師兄有無相關經驗? [/quote]

做過好多項目(包括功課)
你想知甚麼?

go2074 2012-9-25 03:54 PM

回覆 4# 的帖子

我想知從咩途徑可以學,eg書,某網站

go2074 2012-9-25 03:58 PM

例如寫一個程式破解一個md5密碼

p_net 2012-9-25 04:19 PM

[quote]原帖由 [i]go2074[/i] 於 2012-9-25 03:58 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343284697&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
例如寫一個程式破解一個md5密碼 [/quote]

洗唔洗自己寫啊?? :smile_30:
[url=http://www.golubev.com/hashgpu.htm]http://www.golubev.com/hashgpu.htm[/url]


使用 GPU, 最高達 cpu 的 35x !!

go2074 2012-9-25 04:35 PM

回覆 7# 的帖子

舉個例姐,自已寫可以當學習一部份

p_net 2012-9-25 05:28 PM

[quote]原帖由 [i]go2074[/i] 於 2012-9-25 04:35 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343287737&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
舉個例姐,自已寫可以當學習一部份 [/quote]咁就有排你學... :smile_39: 全部都係底層野, dup 石力工夫 :smile_39:

galaxy00_hk2 2012-9-26 10:41 PM

Md5 可以破:smile_39:
最多都rainbow table

星海揚帆 2012-9-26 10:44 PM

[quote]原帖由 [i]go2074[/i] 於 2012-9-25 15:58 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343284697&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
例如寫一個程式破解一個md5密碼 [/quote]

咁你應該先學習相關既數學

星海揚帆 2012-9-26 10:46 PM

[quote]原帖由 [i]p_net[/i] 於 2012-9-25 16:19 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343286578&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
洗唔洗自己寫啊?? :smile_30:
[url=http://www.golubev.com/hashgpu.htm]http://www.golubev.com/hashgpu.htm[/url]


使用 GPU, 最高達 cpu 的 35x !! [/quote]

自己寫係一個學習過程
亦有可能寫得比現成既軟件優勝

星海揚帆 2012-9-26 10:47 PM

[quote]原帖由 [i]p_net[/i] 於 2012-9-25 17:28 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343291917&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
咁就有排你學... :smile_39: 全部都係底層野, dup 石力工夫 :smile_39: [/quote]

原來你覺得密碼學係底層野 :smile_o10:

yfrigel 2012-9-27 02:00 AM

I think that CHING means the underneath hashing algorithm is the base important indeed. Doesn't mean it is a low level skills / studies.

Low level in system architecture / programming means something opposite to **low level**.

[quote]原帖由 [i]星海揚帆[/i] 於 2012-9-26 10:47 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343406693&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


原來你覺得密碼學係底層野 :smile_o10: [/quote]

yfrigel 2012-9-27 02:04 AM

Look into CEH course.

[quote]原帖由 [i]go2074[/i] 於 2012-9-18 12:24 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=342598234&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
如題,例如密碼破解類既algorithum,請問高手係什麼途徑學??:smile_o05:
p.s 我只識寫小小c,c++,同shell script:smile_o16:
(唔知點解版主刪左我個post,可能佢有d誤會
來自論壇系統的短消息
操作理由:
〔引發罵 ... [/quote]

星海揚帆 2012-9-30 04:16 PM

[quote]原帖由 [i]yfrigel[/i] 於 2012-9-27 02:00 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343418573&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
Low level in system architecture / programming means something opposite to **low level**. [/quote]

Cryptanalysis is not system level programming...

go2074 2012-9-30 05:41 PM

題外話,其實各高階程式語言有什麼優/缺點?

星海揚帆 2012-10-1 01:17 AM

[quote]原帖由 [i]go2074[/i] 於 2012-9-30 17:41 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343712259&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
題外話,其實各高階程式語言有什麼優/缺點? [/quote]

如果你初學
強力推薦你先學OOP(object oriented programming)
不過就千祈唔好搞爪哇同C++
最好就係smalltalk([url=http://www.squeak.org/]squeak[/url]係免費)

go2074 2012-10-2 04:31 PM

[quote]原帖由 [i]星海揚帆[/i] 於 2012-10-1 01:17 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343743301&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


如果你初學
強力推薦你先學OOP(object oriented programming)
不過就千祈唔好搞爪哇同C++
最好就係smalltalk(squeak係免費) [/quote]
爪哇係咩?你係唔係講java?squeak係唔係要燒CD?OOP唔係難d咩,我本c語言既書好後先講到

星海揚帆 2012-10-2 06:16 PM

[quote]原帖由 [i]go2074[/i] 於 2012-10-2 16:31 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343873586&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
爪哇係咩?你係唔係講java?squeak係唔係要燒CD?OOP唔係難d咩,我本c語言既書好後先講到 [/quote]

爪哇即係Java
Squeak應該唔使燒碟
OOP對新手唔係難
不過如果你學左C之類既procedural 語言先就有排搞

peter700 2012-10-3 11:21 AM

電腦語言分為四種:
[u][b]1[/b][/u][b])Procedural programming ( i.e c) 是用 top down design 編寫程式.
   c 優點:快速,可以是做 low level 的事.   
2) OO language 是用 bottom up design,
     而 oo 可分為 :
   a)"pure" OO language (.ie. samlltalk)
   b) mainly for OO programming, but with some procedural elements (i.e java)
   java 優點: 再用 code, 跨平台...等等.

top down and bottom up 只是兩種在解決問題的思想方法,
亦可說它們都是一種分析事情的思巧方法.

但 oo 就要多學Design Patterns.[/b][b]
不要浪費時間學 samlltalk, 需然它是純 oo ,但在本市場上,它是一種幾乎沒人使用的語言.
(我也略懂samlltak, 它是可以破例的不用 oo 來編寫)
現在連大多數的大學都不會教 samlltak.
較早前,在程式區的人竟然說 java 是純 oo.
竟然沒人指出是錯誤.
看來在discuss 有識之士都不願發言.
[/b]
[b]另外兩種電腦語言,就不講什麼,只說一個字-----難!!!!!!!,
新丁不要從這兒入手,

ps: 這些話是給電腦新丁的提示.




  
[/b]

[[i] 本帖最後由 peter700 於 2012-10-3 05:11 PM 編輯 [/i]]

stevie1 2012-10-4 11:00 AM

[quote]原帖由 [i]peter700[/i] 於 2012-10-3 11:21 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343936832&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
電腦語言分為四種:
1)Procedural programming ( i.e c) 是用 top down design 編寫程式.
   c 優點:快速,可以是做 low level 的事.   
2) OO language 是用 bottom up design,
     而 oo 可分為 :
   a)"pure ... [/quote]

I am not sure whether it's officially to have computer programming languages being classified into "4" categories...

anyway, some others:

3) functional programming. e.g., LISP (list-programming)
4) Logical programming. e.g., Prolog (spelling...) --> this is top-down programming. Procedural (traditional) programming may not be top-down. It's "procedural".

peter700 2012-10-4 12:46 PM

[quote]原帖由 [i]stevie1[/i] 於 2012-10-4 11:00 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=344025429&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


I am not sure whether it's officially to have computer programming languages being classified into "4" categories...

anyway, some others:

3) functional programming. e.g., LISP (list-programm ... [/quote]

先弄精楚top down and bottom up 的真正意思吧,
還有要弄清什麼是Divide and conquer algorithm , procedure call , function call.....等等.其它就不多說.
沒有人會把 "top-down programming and  Procedural (traditional) programming" 來作一起比較,



Procedural programming 另一個名 imperative programming.
電腦語言的建構理念、結構方式與用麼什想法去解決問題,它們是沒有必然關係.
我的前言是講用什思想方法或手法去解決問題.
不要把建構語言理念、言語結構及解決問題的手法混在一起說,
也不要把不同分類方法混在一起講.



[b]Logic programming[/b] is based on the idea of using logical sentences to represent programs and to perform computation.[url=http://en.wikipedia.org/wiki/Logic_programming#cite_note-0][1][/url] A form of logical sentences commonly found in logic programming, but not exclusively, is the [url=http://en.wikipedia.org/wiki/Horn_clause]definite clause[/url] form:
G if G1 and … and Gn
Such programs can be understood purely declaratively, as for example in [url=http://en.wikipedia.org/wiki/Deductive_database]deductive databases[/url].

But they can also be understood procedurally as goal-reduction procedures:
to show/solve G, show/solve G1 and … and Gn
as for example in [url=http://en.wikipedia.org/wiki/Prolog]Prolog[/url]. The field of [url=http://en.wikipedia.org/wiki/Answer_set_programming]answer set programming[/url] gives an example where the definite clause form is extended by choices.


Whether understood purely declaratively or both declaratively and procedurally, the programmer can use the declarative reading of programs to ensure their correctness. In many cases, this is sufficient to solve the computational task. When it is not sufficient, the programmer may be able to use the procedural reading of programs and knowledge of the behaviour of the program executor to obtain greater efficiency. Many logically-based [url=http://en.wikipedia.org/wiki/Program_transformation]program transformation[/url] techniques have been developed to assist the programmer in this process, transforming programs that are correct but inefficient into programs that are both correct and efficient.

[url=http://en.wikipedia.org/wiki/Logic_programming]http://en.wikipedia.org/wiki/Logic_programming[/url]

logic programming  與 functional programming.也是屬於 declarative programming.
[color=Red][b]In declarative progamming/ languages, the computer is told what the problem is, not how to solve the problem.[/b]
[/color]

我的前言只是說了其中之一種分類方法.(四種的另外兩種是logic programming  與 functional programming).
logic programming  與 functional programming可以是不同種類亦可以是同種類.
在乎用那種分類方法.

[[i] 本帖最後由 peter700 於 2012-10-4 04:03 PM 編輯 [/i]]

go2074 2012-10-4 05:18 PM

回覆 23# 的帖子

師兄,意思係唔係同一個程式語言,eg C語言,可以用logic programming同functional programming寫?
而所謂既procedure languag同oo programming就depend on 程式語言本身:smile_41: (即係一個語言只能either係procedure或oo)

peter700 2012-10-4 06:00 PM

回覆 24# 的帖子

既然以學了C , 就先學好 C ,當你 master 了 C 後,
要掌握OO 並不是難事,
OO 的語言意念 與 procedure languag 是不同的,
但OO 的語言結構 只是 procedure languag 的廷伸.

另一種分類法是 imperative programming and  declarative programming.
不再說下去,
總之新手就不要先學declarative programming.
除非有數學學位或數學能力是不錯的人,就另作別論.

[[i] 本帖最後由 peter700 於 2012-10-4 06:09 PM 編輯 [/i]]

ultrapanda 2012-10-5 12:32 AM

[url]http://www.cplusplus.com/[/url]

go2074 2012-10-5 01:13 AM

[quote]原帖由 [i]peter700[/i] 於 2012-10-4 06:00 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=344054602&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
既然以學了C , 就先學好 C ,當你 master 了 C 後,
要掌握OO 並不是難事,
OO 的語言意念 與 procedure languag 是不同的,
但OO 的語言結構 只是 procedure languag 的廷伸.

另一種分類法是 imperative program ... [/quote]

受教了,我都打算master左C先,遲d再學c++,shell script,java等,至於smalltalk,可能等我學哂d主流語言先la:smile_34:

mathfeel 2012-10-5 12:13 PM

[quote]原帖由 [i]go2074[/i] 於 2012-10-4 09:13 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=344087921&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


受教了,我都打算master左C先,遲d再學c++,shell script,java等,至於smalltalk,可能等我學哂d主流語言先la:smile_34: [/quote]
學哂?到你學哂的時候又唔知咩語言最熱門。學語言,就算係『主流』語言本身不是一個目標。目標是透過學語言來了解唔同的programming paradigm。了解幾種截然不同語言強短處你才有能力判斷甚麽樣的工作應該用甚麽語言。學語言易學思路難……


題外話最近我負責phone screening的時候有個面試者很自誇地說“你可以問我任何語言的問題”。我就問“請描述一下Brainfuck語言……”。

go2074 2012-10-7 05:17 PM

回覆 28# 的帖子

多謝你既意見,不過都係會學習左c,c++,java先,因為方便學習程式結構,之後再跟與趣發展

星海揚帆 2012-10-13 12:50 PM

[quote]原帖由 [i]peter700[/i] 於 2012-10-3 11:21 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=343936832&ptid=20849441][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
[b]但 oo 就要多學Design Patterns.[/b][b]
不要浪費時間學 samlltalk, 需然它是純 oo ,但在本市場上,它是一種幾乎沒人使用的語言.
(我也略懂samlltak, 它是可以破例的不用 oo 來編寫)
現在連大多數的大學都不會教 samlltak.[/b][/quote]

師兄
你唔好將OO同design pattern混淆啦
何況design pattern呢樣野本身相當有爭議性

新手學電腦語言應該從基本原則入手
唔係學壞手勢好難糾正

[[i] 本帖最後由 星海揚帆 於 2012-10-13 12:51 PM 編輯 [/i]]
頁: [1] 2
查看完整版本: 有冇linux高手係編程達人,識寫演算法(algorithum)類既程式?