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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...