最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

/// <summary>
/// 將傳入的字符串中間部分字符替換成特殊字符
/// </summary>
/// <param name="value">需要替換的字符串</param>
/// <param name="startLen">前保留長度</param>
/// <param name="endLen">尾保留長度</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;
}

效果圖展示如下:

復制代碼 代碼如下:

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

注:如果傳入的startLen/endLen 超過字符串長度,將拋出下標越界異常

C#實現(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;
//導入自定義的類庫
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ù)庫預生成XML數(shù)據(jù)源
/// </summary>
private void PreRenderXML()
{
string strSQL = "select語句略去........................;
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
{
//以?號分割路徑
string[] paramPath = sourParameter.Split( new char[]{'?'} ) ;
startString = paramPath[0].ToString() ;
endString = paramPath[1].ToString() ;
//開始分析路徑里的&字符
if(sourParameter.IndexOf("&")<0)
{
//只有一個參數(shù),用=號分割,直接把NameValue進行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
{
//有多個參數(shù),以&號分割?號后面的路徑
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++ )
{
//以=號分割每個NameValue參數(shù)
paramNameValue = sourNameValue[i].Split( new char[]{'='} ) ;
//開始對NameValue加密
paramName = myDES.Encrypt( paramNameValue[0].ToString() ,myDESKey ) ;
paramValue = myDES.Encrypt( paramNameValue[1].ToString() ,myDESKey ) ;
//存儲加密后的路徑字符串
sb.Append( paramName ).Append("=").Append( paramValue ) ;
//是否最后一個NameValue參數(shù),若不是在路基里添加&參數(shù)連接符
if( i<sourNameValue.Length )
{
sb.Append("&") ;
}
}
return sb.ToString() ;
}
} 

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

相關文章

最新評論

甘南县| 乌恰县| 平乡县| 石景山区| 临湘市| 平舆县| 蕲春县| 广河县| 岑巩县| 南昌县| 大埔区| 安阳市| 云龙县| 太谷县| 蓬溪县| 呈贡县| 尼勒克县| 运城市| 梨树县| 宜兰县| 长子县| 华坪县| 手机| 新密市| 铁岭市| 武隆县| 景东| 法库县| 丹巴县| 聂荣县| 财经| 阿城市| 昌平区| 柳河县| 安图县| 方正县| 南靖县| 申扎县| 金堂县| 江阴市| 吴旗县|