C#基礎筆記(第十四天)

来源:http://www.cnblogs.com/VSMinos/archive/2017/11/21/7873443.html
-Advertisement-
Play Games

1.MD5加密 用戶在資料庫存密碼需要進行再加密,這樣一個過程叫MD5加密只要涉及到存用戶的密碼一定要用MD5加密MD5密碼一般都是16進位的把一個密碼轉換成16進位的過程就叫MD5加密把字元串加密成MD5,這樣一個過程是不可逆的。只能把字元串變成MD5值,不能把MD5值變成字元串但有人模擬過MD5 ...


1.MD5加密

用戶在資料庫存密碼需要進行再加密,這樣一個過程叫MD5加密
只要涉及到存用戶的密碼一定要用MD5加密
MD5密碼一般都是16進位的
把一個密碼轉換成16進位的過程就叫MD5加密
把字元串加密成MD5,這樣一個過程是不可逆的。只能把字元串變成MD5值,不能把MD5值變成字元串
但有人模擬過MD5加密的過程,寫了一套演算法,解密的過程。但不可能和加密一模一樣,但一些簡單的都可以解出來,如123
但是複雜一點就解密不了

練習加密 123 MD5:202cb962ac59075b964b07152d234b70
shift+alt+f10 命名空間

位元組數組---字元串 理論上需要3種方式
1.將位元組數組中每個元素按照指定的編碼格式解析成字元串
2.直接將數組ToString();
3.將位元組數組中的每個元素ToString();

.ToString("x") 將十進位轉換為十六進位

ToString("")裡面放東西可以轉格式,需要的時候查一下

static void Main(string[] args)
{
//MD5:202cb962ac59075b964b07152d234b70
//x2 : 202cb962ac59075b964b07152d234b70
//x : 202cb962ac5975b964b7152d234b70
//3244185981728979115075721453575112(十進位)---轉換16進位
string s = GetMD5("123");
Console.WriteLine(s);
Console.ReadKey();
}
public static string GetMD5(string str)
{
//創建MD5對象
MD5 md5 = MD5.Create();
//開始加密
//需要將字元串轉成字元數組
byte[] buffer = Encoding.GetEncoding("GBK").GetBytes(str);
//返回一個加密好的位元組數組
byte[] MD5Buffer= md5.ComputeHash(buffer);
//將位元組數組轉為字元串
//輸出是亂碼的原因(編碼可以排除掉了)
//前四行代碼不會出現什麼問題
//問題出在下麵這行,我們最終要的是16進位
//位元組數組---字元串 理論上需要3種方式
//將位元組數組中每個元素按照指定的編碼格式解析成字元串
//直接將數組ToString();(PASS,因為直接轉就是命名空間)
//將位元組數組中的每個元素ToString();
//return Encoding.GetEncoding("GBK").GetString(MD5Buffer);

//189 275 345 我愛你 (PASS)
//189 275 345 189275345

string strNew = "";
for (int i = 0; i < MD5Buffer.Length; i++)
{
strNew += MD5Buffer[i].ToString("x2");
}
return strNew;

2.桌面應用程式
1、winform應用程式是一種智能客戶端技術,我們可以使用winform應用程式幫助我們獲得信息或者傳輸信息等
asp和asp.net不是一個東西,asp落伍了
winform應用程式學的就是托拉拽
XAML語言是 做winform UI

form1.designer.cs 視窗設計的時候,編譯器自動生成代碼
form1.resx 資源文件
form1 後臺代碼
一直在操作的就是form1.cs

2、屬性
Name:在後臺要獲得前臺的空間對象,需要使用Name屬性
visible:指示一個控制項是否可見
enabled:指示一個控制項是否可用

3、事件:發生一件事情。
註冊事件:雙擊控制項註冊的都是控制項預設被選中的那個事件。
觸發事件:

F4註冊事件

4、
在Main函數當中創建的窗體對象,我們稱之為這個窗體應用程式的主窗體。
也就意味著,當你將主窗體關閉後,整個應用程式都關閉了。

3.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("我也愛你喲思密達");
this.Close();//關閉主窗體
}

private void button2_MouseEnter(object sender, EventArgs e)
{
//給按鈕一個新的坐標
//這個按鈕活動的最大寬度就是 窗體的寬度減去按鈕的寬度
int x = this.ClientSize.Width-button2.Width;
int y = this.ClientSize.Height - button2.Height;

Random r = new Random();
//要給按鈕一個隨機的坐標
button2.Location = new Point(r.Next(0,x+1),r.Next(0,y+1));
}

private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("還是被你這個屌絲點到了");
this.Close();
}

5、TextBox控制項
WorWrap:指示文本框是否換行。
PassWordChar:讓文本框顯示一個單一的字元
ScollBars:是否顯示滾動條
事件:TextChanged 當文本框中的內容發生改變的時候觸發這個事件。

4.Timer
abcde
bcdea
string str="abcde";
str=str.substring(1)+str.substring(0,1);

6、Timer
在指定的時間間隔內做一件指定的事情。

5.簡單記事兒本應用程式
1)、在程式載入的時候,取消文本框的自動換行,以及讓兩個按鈕和文本框隱藏
2)、點擊登錄,判斷是否登錄成功
3)、自動換行功能
4)、保存文本到指定目錄下

7.多選和單選控制項
公共控制項
checkBox 方形可選
radioButton 圓形可選
容器
GroupBox 多選集合

單選和多選
checked:指示這個控制項是否處於選中狀態。
預設狀況下,在一個窗體中,所有的單選按鈕只允許選中一個,可以使用groupbox進行分組
分組後可以多選

8.MDI窗體的設計
1、首先確定一個父窗體 將IsMdiContainer設置為true。
創建子窗體--菜單和工具欄--MenuStrip
2、創建子窗體,並且設置他們的父窗體。
LayoutMdi(MdiLayout.TileHorizontal) 橫向排列
LayoutMdi(MdiLayout.TileVertical) 縱向排列


9.PictureBox
pictureBox1.Image=Image.FromFile(@"圖片路徑");
path操作路徑的
file操作文件的
Directory操作文件夾的 獲取路徑 Directory.GetFiles(@"文件夾路徑")

//設置圖片如何在PictureBox1中顯示
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一 前言 對於正則表達式,相信很多人都知道,但是很多人的第一感覺就是難學,因為看第一眼時,覺得完全沒有規律可尋,而且全是一堆各種各樣的特殊符號,完全不知所云。 其實只是對正則不瞭解而以,瞭解了你就會發現,原來就這樣啊正則所用的相關字元其實不多,也不難記,更不難懂,唯一難的就是組合起來之後,可讀性比較 ...
  • 一. 概念理解 你可能有留意到當你瀏覽網頁時,會有一些推送消息,大多數是你最近留意過的同類東西,比如你想買桌子,上淘寶搜了一下,結果連著幾天會有各種各樣的桌子的鏈接。這是因為 你瀏覽某個網頁的時候,WEB 伺服器會先送一些資料放在你的電腦上,類似於你打的文字,選的一些東西什麼的,Cookie 會幫 ...
  • 效果圖: 下載鏈接:創建wpf項目引用 如下:鏈接:http://pan.baidu.com/s/1chj1nS 密碼:u7y2 第一步:創建項目引用CefSharp 第二步:第二步將DLL拷貝到運行項目的Debug下 第三步:項目平臺設置32位 第四步:創建視頻文件與html腳本 第五步:Xaml ...
  • 本文為原創文章、源代碼為原創代碼,如轉載/複製,請在網頁/代碼處明顯位置標明原文名稱、作者及網址,謝謝! 本文使用的工具下載地址為: 或 dnSpy官方下載地址: 軟體界面如下: 該軟體分別64位版本及32位版本,分別為dnSpy.exe 及 dnSpy-x86.exe,調試時請註意調試所對應軟體版 ...
  • using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; namespace C... ...
  • 1.進程複習//通過進程去打開應用程式 Process.Start("calc"); Process.Start("mspaint"); Process.Start("notepad"); Process.Start("iexplore", "http://www.baidu.com"); //通過 ...
  • 1.Directory//File 文件 Path 路徑 FileStream StreamReader StreamWriter 流 Directory 文件夾 目錄 //創建文件夾 Directory.CreateDirectory(@"C:\a\b"); Console.WriteLine(" ...
  • using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; namespace Cons... ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...