欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#將隱私信息(銀行賬戶,身份證號(hào)碼)中間部分特殊字符替換成*

 更新時(shí)間:2015年08月04日 12:03:56   作者:柯小呆  
大家在銀行交易某些業(yè)務(wù)時(shí),都可以看到無論是身份證、銀行賬號(hào)中間部分都是用*號(hào)替換的,下面這篇文章主要介紹C#將隱私信息(銀行賬戶,身份證號(hào)碼)中間部分特殊字符替換成*的相關(guān)資料,需要的朋友可以參考下

大家在銀行交易某些業(yè)務(wù)時(shí),都可以看到無論是身份證、銀行賬號(hào)中間部分都是用*號(hào)替換的,下面小編把代碼整理如下:

/// <summary>
/// 將傳入的字符串中間部分字符替換成特殊字符
/// </summary>
/// <param name="value">需要替換的字符串</param>
/// <param name="startLen">前保留長(zhǎng)度</param>
/// <param name="endLen">尾保留長(zhǎng)度</param>
/// <param name="replaceChar">特殊字符</param>
/// <returns>被特殊字符替換的字符串</returns>
private static string ReplaceWithSpecialChar(string value, int startLen = 4, int endLen = 4, char specialChar = '*')
{
 try
 {
  int lenth = value.Length - startLen - endLen;
  string replaceStr = value.Substring(startLen, lenth);
  string specialStr = string.Empty;
  for (int i = 0; i < replaceStr.Length; i++)
  {
   specialStr += specialChar;
  }
  value = value.Replace(replaceStr, specialStr);
 }
 catch (Exception)
 {
  throw;
 }
 return value;
}

效果圖展示如下:

復(fù)制代碼 代碼如下:

ReplaceWithSpecialChar("柯小呆", 1, 0,'*') -->Result: 柯*呆
ReplaceWithSpecialChar("622212345678485") -->Result: 6222*******8485
ReplaceWithSpecialChar("622212345678485", 4 , 4 , '*') -->Result: 6222*******8485

注:如果傳入的startLen/endLen 超過字符串長(zhǎng)度,將拋出下標(biāo)越界異常

C#實(shí)現(xiàn)參數(shù)隱私代碼

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.Configuration;
//導(dǎo)入自定義的類庫(kù)
using _3Layer.DataLayer.DataCommon;
using _3Layer.DataLayer.DataCommon.DataAccess;
using Library.ClassLibrary.Crypt.DES;
namespace CHONGCHONG.XML
public class RenderingXML : System.Web.UI.Page
{
/// <summary>
/// 從數(shù)據(jù)庫(kù)預(yù)生成XML數(shù)據(jù)源
/// </summary>
private void PreRenderXML()
{
string strSQL = "select語(yǔ)句略去........................;
myDataLayer.Open();
RenderingXml="<?xml version='1.0' 
encoding='gb2312'?>\r\n";
RenderingXml+="<xml>\r\n";
try
{ 
System.Data.SqlClient.SqlDataReader myDR 
= (SqlDataReader)myDataLayer.ExecuteReader( strSQL );
while(myDR.Read())
{
RenderingXml+="<TreeNode id='"+myDR["BoardID"]+"'>\r\n";
RenderingXml+="<NodeText>"+myDR["BoardName"]+"</NodeText>\r\n";
RenderingXml+="<title>"+myDR["Title"]+"</title>\r\n";
RenderingXml+="<NodeUrl>"+EncodeHTML
( EncodeParameter( myDR["Link"].ToString() ) )+"</NodeUrl>\r\n";
RenderingXml+="<child>"+myDR["children"]+"</child>\r\n";
RenderingXml+="<target>"+myDR["Target"]+"</target>\r\n";
RenderingXml+="</TreeNode>\r\n";
}
}
catch(System.Data.SqlClient.SqlException ee)
{
return ;
}
finally
{
myDataLayer.Close() ; 
}
RenderingXml+="</xml>";
byte[] bytResult = Encoding.Default.GetBytes( RenderingXml ) ;
Response.ContentType = "text/xml" ;
Response.BinaryWrite( bytResult ) ;
} 
/// <summary>
/// Description:加密路徑參數(shù)
/// </summary>
/// <param name="sourParameter"></param>
/// <returns></returns>
private string EncodeParameter( string sourParameter )
{
string startString = String.Empty ;
string endString = String.Empty ; 
StringBuilder destParameter = new StringBuilder() ;
if( sourParameter == null || sourParameter.Equals("") )
{
destParameter.Append( String.Empty ).ToString() ;
}
else
{
//開始分析路徑里的?字符
if( sourParameter.IndexOf("?")<0 )
{
destParameter.Append( sourParameter ).ToString() ;
}
else
{
//以?號(hào)分割路徑
string[] paramPath = sourParameter.Split( new char[]{'?'} ) ;
startString = paramPath[0].ToString() ;
endString = paramPath[1].ToString() ;
//開始分析路徑里的&字符
if(sourParameter.IndexOf("&")<0)
{
//只有一個(gè)參數(shù),用=號(hào)分割,直接把NameValue進(jìn)行Des加密
string[] paramNameValue = endString.Split( new char[]{'='} ) ;
string paramName = myDES.Encrypt
( paramNameValue[0].ToString() ,myDESKey ) ;
string paramValue = myDES.Encrypt
( paramNameValue[1].ToString() ,myDESKey ) ;
destParameter.Append( startString ).Append("?").
Append( paramName ).Append("=").Append( paramValue ) ;
}
else
{
//有多個(gè)參數(shù),以&號(hào)分割?號(hào)后面的路徑
string[] paramJoin = endString.Split( new char[]{'&'} ) ;
destParameter.Append( startString ).Append("?").
Append( EncoderNameValue( paramJoin ) ) .ToString() ;
}
}
}
return destParameter.ToString() ;
} 
/// <summary>
/// Description:加密路徑里的NameValue參數(shù)
/// </summary>
/// <param name="sourNameValue"></param>
/// <returns></returns>
private string EncoderNameValue( string[] sourNameValue )
{
string[] paramNameValue ;
string paramName ;
string paramValue ;
StringBuilder sb = new StringBuilder() ;
for( int i = 0 ; i <= sourNameValue.Length-1 ; i++ )
{
//以=號(hào)分割每個(gè)NameValue參數(shù)
paramNameValue = sourNameValue[i].Split( new char[]{'='} ) ;
//開始對(duì)NameValue加密
paramName = myDES.Encrypt( paramNameValue[0].ToString() ,myDESKey ) ;
paramValue = myDES.Encrypt( paramNameValue[1].ToString() ,myDESKey ) ;
//存儲(chǔ)加密后的路徑字符串
sb.Append( paramName ).Append("=").Append( paramValue ) ;
//是否最后一個(gè)NameValue參數(shù),若不是在路基里添加&參數(shù)連接符
if( i<sourNameValue.Length )
{
sb.Append("&") ;
}
}
return sb.ToString() ;
}
} 

以上內(nèi)容就是C#將隱私信息(銀行賬戶,身份證號(hào)碼)中間部分特殊字符替換成*的全部?jī)?nèi)容,希望大家喜歡。

相關(guān)文章

  • C#實(shí)現(xiàn)簡(jiǎn)單的Login窗口實(shí)例

    C#實(shí)現(xiàn)簡(jiǎn)單的Login窗口實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)簡(jiǎn)單的Login窗口,實(shí)例分析了C#顯示及關(guān)閉登陸Login窗口的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-08-08
  • C# 操作 MongoDB的示例demo

    C# 操作 MongoDB的示例demo

    這篇文章主要介紹了C# 操作 MongoDB的示例demo,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下
    2020-12-12
  • C#使用隊(duì)列(Queue)解決簡(jiǎn)單的并發(fā)問題

    C#使用隊(duì)列(Queue)解決簡(jiǎn)單的并發(fā)問題

    這篇文章主要介紹了使用隊(duì)列(Queue)解決簡(jiǎn)單的并發(fā)問題,講解的很細(xì)致,喜歡的朋友們可以了解一下
    2015-07-07
  • C#常用的命名規(guī)則匯總

    C#常用的命名規(guī)則匯總

    這篇文章主要介紹了C#常用的命名規(guī)則,較為詳細(xì)的匯總了包括類、變量、方法、屬性等的命名規(guī)則,具有很好的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • C#如何綁定多個(gè)按鈕到同一個(gè)事件

    C#如何綁定多個(gè)按鈕到同一個(gè)事件

    這篇文章主要介紹了C#如何綁定多個(gè)按鈕到同一個(gè)事件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù)實(shí)例

    C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù)實(shí)例

    這篇文章主要介紹了C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù),結(jié)合簡(jiǎn)單實(shí)例形式分析了C#字符串的轉(zhuǎn)換、遍歷、加密等操作技巧,需要的朋友可以參考下
    2016-07-07
  • C#實(shí)現(xiàn)將日期格式化為指定格式

    C#實(shí)現(xiàn)將日期格式化為指定格式

    這篇文章主要為大家詳細(xì)介紹了C#如何使用DateTime.Now.ToString方法將日期格式化為指定格式,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考下
    2024-01-01
  • Unity之Luaframework框架lua調(diào)用C#方法

    Unity之Luaframework框架lua調(diào)用C#方法

    這篇文章主要介紹了Unity之Luaframework框架lua調(diào)用C#方法,在這里需要寫一個(gè)C#腳本,腳本里寫方法需要在lua中調(diào)用,具體實(shí)例代碼參考下本文吧
    2021-09-09
  • C#程序執(zhí)行時(shí)間長(zhǎng)查詢速度慢解決方案

    C#程序執(zhí)行時(shí)間長(zhǎng)查詢速度慢解決方案

    這篇文章主要介紹了C#程序執(zhí)行時(shí)間長(zhǎng)查詢速度慢解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • C#如何使用Task執(zhí)行異步操作

    C#如何使用Task執(zhí)行異步操作

    這篇文章主要介紹了C#如何使用Task執(zhí)行異步操作,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-05-05

最新評(píng)論