c#에서 Mariadb를 연결할때 MySqlConnector를 사용한다.

VS에서 NgGet을 이용해서 쉽게 검색하고 설치할 수 있다. 

*NgGet 이놈 참 좋다~


MySqlConnector는 MIT 라이센스 그냥 사용하면 된다.





connector설치한김에 테스트까지 해봐야지요



c#코드


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.IO;

using MySql.Data.MySqlClient;


namespace ScrappingWinForms

{

    public partial class Form1 : Form

    {

        string sConnectionString = "Server=localhost;Uid=root;Pwd=???????;Database=???";


        String Url = string.Empty;


        public Form1()

        {

            InitializeComponent();


            //WebBrowser로 사이트 로딩시 자바스크립트 바인딩안되어 에러나는 경우.

            //자바스크립트 오류(dialogbox) 무시하고 진행가능하도록 제어함. 

            this.webBrowserViewer.ScriptErrorsSuppressed = true;

            webBrowserViewer.DocumentTitleChanged += new EventHandler(webBrowserViewer_DocumentTitleChanged);

        }


        private void btnSearch_Click(object sender, EventArgs e)

        {

            surftheWeb();

        }

        

        private void surftheWeb()

        {

            Url = txtUrl.Text;

            webBrowserViewer.Navigate(Url);

        }


        /// <summary>

        /// WebBrowser's DocumentCompleted Event

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void webBrowserViewer_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

        {

            // ((WebBrowser)sender).Document.Window.Error +=   new HtmlElementErrorEventHandler(Window_Error);


            WebBrowser oBrowser = sender as WebBrowser;


            txtSource.Text = StreamConvertEUCKRtoUTF8(oBrowser);

                        

        }


        /// <summary>

        /// Using WebBrowser web page 

        /// 웹페이지 Encoding type 이 EUC-KR 이면 WebBrowser.DocumentText로 html로 렌더링된 text를 볼때 한글이 깨진다.

        /// 아래처럼 스트림리더로 페이지 EUC-KR type을 읽어들인다.

        /// </summary>

        /// <param name="oBrowser"></param>

        /// <returns></returns>

        private String StreamConvertEUCKRtoUTF8(WebBrowser oBrowser)

        {

            String sResult = String.Empty;


            Stream oStream;

            StreamReader oStreamReader;

            oStream = oBrowser.DocumentStream;

            oStreamReader = new StreamReader(oStream, System.Text.Encoding.GetEncoding(oBrowser.Document.Encoding));

            oStream.Position = 0;

            sResult = oStreamReader.ReadToEnd();


            return sResult;

        }

         

        private void webBrowserViewer_DocumentTitleChanged(object sender, EventArgs e)

        {

            //this.Text = webBrowser1.DocumentTitle.ToString();


            this.groupBox1.Text = webBrowserViewer.DocumentTitle;

        }



        private void loadTestData() {

            MySqlConnection oConnection = new MySqlConnection(sConnectionString);

            oConnection.Open();


            try

            {

                MySqlCommand cmd = oConnection.CreateCommand();

                cmd.CommandText = "SELECT * FROM TMP_help order by help_topic_id desc";

                MySqlDataAdapter aDap = new MySqlDataAdapter(cmd);

                DataSet dsData = new DataSet();

                aDap.Fill(dsData);


                dgViewSample.DataSource = dsData.Tables[0].DefaultView;


            }

            catch (Exception ex)

            {

                throw ex;

            }

            finally {

                if (oConnection.State == ConnectionState.Open)

                {

                    oConnection.Close();

                }

            }

        }

      


        private void btnForTest_Click(object sender, EventArgs e)

        {

            loadTestData();

        }

     

    }

}



'프로그래밍 > c#' 카테고리의 다른 글

WebBrowser이용한 스크린스크래핑  (0) 2018.05.09
WebBrowser.DocumentText 한글깨짐  (0) 2018.05.07
using MySqlConnector  (0) 2018.05.07

"오늘은 좀 매울지도 몰라"

 

삽화가 있는 책이 좋다. 심플한 그림에 느낌이 있는 그림들.

요즘 요리에 조금씩 관심도 생기고

내가 좋아하고 싫어하는 것에 대해 생각해보고

주위 사람들을 한번 더 보며 이해하려는 시간을 보내고 있는데

FB “책읽는 당에서 리뷰된 걸 봤다.


전문적이진 않지만 나의 레시피로 참고해야겠다.




password 암호화 알고리즘 bcrypt


php script : 

아래 옵셥의 cost 값은 해싱의 속도를 나타낸다.

default : 10이며 값이 커질수록 해싱의 속도가 느려진다. 이는 오토 크래킹으로 부터 보안성을 높여 줄 수 있다.


<?php

/*
if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH)
echo "CRYPT_BLOWFISH is enabled!";
else
echo "CRYPT_BLOWFISH is not available";

*/
#첫번째 매개변수 - $password - 해시할 값(비밀번호)
#두번째 매개변수 - PASSWORD_BCRYPT - 해시에 사용될 알고리즘(PASSWORD_DEFAULT, PASSWORD_BCRYPT, ...)

$password ="tester";
$options15 = [ 'cost' => 15 ] ;
$options12 = [ 'cost' => 12 ] ;

$hashedValue = password_hash($password, PASSWORD_BCRYPT);

$hashedValueWithO12 = password_hash($password, PASSWORD_BCRYPT, $options12);
$hashedValueWithO15 = password_hash($password, PASSWORD_BCRYPT, $options15);

echo "1hashedPassword:".$hashedValue;
echo "<br>2hashedPassword:".$hashedValueWithO12;
echo "<br>3hashedPassword:".$hashedValueWithO15;

/*
if(password_verify($password, $hashedValue))
echo "<br>1true";
else
echo "<br>1false";
if(password_verify($password, $hashedValueWithO12))
echo "<br>2true";
else
echo "<br>2false<br>";

if(password_verify($password, $hashedValueWithO15))
echo "<br>3true";
else
echo "<br>3false<br>";
*/
echo "<br>1.hashedValue:";
print_r( password_get_info( $hashedValue ));

echo "<br>2.hashedValue:";
print_r( password_get_info( $hashedValueWithO12 ));

echo "<br>3.hashedValue:";
print_r( password_get_info( $hashedValueWithO15 ));

?>




cost => 10



cost => 12



cost => 15




reference to : http://dolgo.net/PHP/lecture/18


'프로그래밍 > PHP' 카테고리의 다른 글

php CURL 사용하기  (0) 2018.07.31
Javascript로 Facebook로그인  (0) 2018.05.26
php 패스워드 암호화 bcript  (0) 2018.05.02
unlink(=delete) 메소드 이용하기  (0) 2018.04.22
directory entry 읽어 파일리스트업  (0) 2018.04.20
파일 업로드(move_uploaded_file)  (0) 2018.04.14

+ Recent posts