Giúp mình Replace list mã hoá 16 kí tự

  • Thread starter Thread starter fatheon
  • Ngày gửi Ngày gửi
Liên hệ QC

fatheon

Thành viên mới
Tham gia
1/9/10
Bài viết
8
Được thích
0
Thanks for all
~~~~~~~~~~~~~~~~
 
Lần chỉnh sửa cuối:
Để mình vd luôn nhé rồi các bạn xem có giải quyết được không.

VD : ta có 1 list dãy mã hoá 16 kí tự, mình sẽ lấy tạm 1 dãy mã hoá làm vd, dãy mã hoá chia thành 16 vị trí

$ D _ - b a D K < $ Y c S W # {

quy luật của dãy mã hoá trên là như sau :

vị trí 1 :
4 là $
5 là %

vị trí 1 chỉ cần xác định 2 cái này thôi là đủ , còn các vị trí khác xác định từ 0 - 9

$B==eXFKD;TcVV^<

"
1 list như vậy thi dùng tay không thể được hoặc tốn sức hoặc sai sót. Vậy trong excel có cách nào replace được không với quy luật đã được tìm ra ? Pro giúp cái nào
Cũng không phức tạp lắm đâu
Bạn tạo 16 cột theo 16 ví trí và mỗi cột có 9 dòng.
Bạn tách chuổi "$ D _ - b a D K < $ Y c S W # {" thành 16 cột và dùng hàm Match theo từng cột.
Nếu có thể bạn đưa vào file Excel và up lên, dùng công thưc hay viết code cũng không khó lắm.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cũng không phức tạp lắm đâu
Bạn tạo 16 cột theo 16 ví trí và mỗi cột có 9 dòng.
Bạn tách chuổi "$ D _ - b a D K < $ Y c S W # {" thành 16 cột và dùng hàm Match theo từng cột.
Nếu có thể bạn đưa vào file Excel và up lên, dùng công thưc hay viết code cũng không khó lắm.

Mình rất gà về excel :( cậu có thể viết hộ mình cái code được không. cảm ơn pro nhiều
 
Upvote 0
ai viết giúp mình cái code được không, mình không biết ứng dụng vào để viết code . Mình up luôn file lên mọi người giúp mình replace nhé, mình cảm ơn

http://muteenvn.net/code.rar
 
Upvote 0
Biếu hẵn bạn 1 hàm tự tạo luôn đây

PHP:
Option Explicit
Function GiaiMa(StrC As String) As String
 Dim Hg As Long, Cot As Byte, jJ As Long
 Dim Rng As Range, Cls As Range
    
 Hg = Range("BangTra").Rows.Count
 Cot = Range("BangTra").Columns.Count
 GiaiMa = "'" & IIf(Left(StrC, 1) = "$", 4, 5)
 For jJ = 2 To Cot
   Set Rng = Range("BangTra").Cells(1, jJ).Resize(Hg)
   GiaiMa = GiaiMa & Rng.Find(Mid(StrC, jJ, 1), , xlFormulas, xlWhole).Row - 1
 Next jJ
End Function
 

File đính kèm

Upvote 0
cậu có thể viết code html cho mình được không hoặc chỉ tớ cách dùng tại chưa học excel bao giờ :) thông cảm cho mình ;))
 
Upvote 0
Mình cũng có code này tham gia:
PHP:
Function cvma(ByVal ma As String)
listma = "D[}{/><ABC`{()_+-=][}`[&*()_+-=]`fWXYZAbcde`bSTUVWXYZA`F{/><ABCDE`KBCDEFGHIJ`D[}{/><ABC`%,.:;?~@#$`YPQRSTUVWX`lcdefghijk`WNOPQRSTUV`bSTUVWXYZA`)~@#$%^&*(`D[}{/><ABC"
mcode = Split(listma, "`")
If Mid(ma, 1, 1) = "$" Then t = 4
If Mid(ma, 1, 1) = "%" Then t = 5
For i = 2 To Len(ma)
    For j = 1 To Len(mcode(i - 2))
        If Mid(ma, i, 1) = Mid(mcode(i - 2), j, 1) Then
            t = t & " " & j - 1
            Exit For
        End If
    Next
Next
cvma = t
End Function
 

File đính kèm

Upvote 0
vậy muốn replace tự động thì làm cách nào vậy cậu
 
Upvote 0
replace tự động là như thế nào? Thay trực tiếp các dãy mã hoá luôn bằng 1 click chuột?
 
Upvote 0
có thể làm ra 1 code web rồi paste đoạn mã hoá đó vào để web cho ra đoạn giải mã không cậu. cậu chỉ cho mình cách replace all dãy ma hoá = 1 click chuột xem hi hi
 
Upvote 0
Trong Excel thì mình làm được nhưng trong web (lập trình web javaScript or VBScript j đó) thì mình không biết.Bạn muốn tạo giải mã trên web thì phải học về lập trình web thôi.Bạn nên đưa ra mục đích của mình.Bạn cần code giãi mã cho úng dụng j? bạn cần thuật toán hay là như thế nào?Mọi người sẽ giúp được cho bạn đó.
 
Upvote 0
ý mình thì cũng nói hết rồi, bây giờ mình có 1 list dãy mã hoá dài như này :

$/_*bVBEC,RcNV$>
${_-bTFK}@XhRV
$<([eZ/J{,UlWW&/
$/=[XV/K{;VcST@B
${_-WZ>K}%WfVY$[
%}=+WV{D>,SiPZ^{
%[]=1aAKDEYdPSJB}-W
${((fY{E>:YfPZ~A
%/=+WXFKA#WjRT(B
${_-bTFK}@XhRV
%/))WZ{K}#YiTT@>
$/_*bVBFA,TeQb(B
%}_*XY>H}#QcQY$>
$B[=eU{K[?XkWV%>
$}=+aS
$/(-WTEB{#QlNa&[
${_-bTFK}@XhRV
%/]*YbFJC,PlVb~D
^D(&gbFI>^RjWb_>}(X
%/}[ea/K>%YlWV@>
$B==eXFKD.TiUY$<
%[)&fYFB[~UlRS%[
${{_gZCBD^YlQY_C+=Y
%/}[fUDFD,RjWa)A
$}-=fZ{KD%YjWb#A
$}=+eb/K{:UjWS*D
%/=+gU/HD^SjRT_D](W
%/))WZFGB~WeOZ&[
$[)&cV/B{#RdQW*D
$B==eXFKD;TcVV^<
${_-bTFK}@XhRV
%{(+YT/F<%YlPa@C
$/_*XbCBA~VlSU@/
%>)*YVFKD,PhNX&<
$D=[aYFG{$PdRa(A
$C}&dTAJA;PjQS@}
$>_-fU>E<$SlNb~A
$>{_abFK}:TfRS^/
${(&gaBHD^UjQa_A[(e
$})+bU/K<$QgUZ)/
$>_]dbCIA~SdQY%>
$/=_ZTFBB.QkPV^/
%>[*abDG},YdNS~C
%/=+gUFBC^PeVX_B+&b
$C][ab/BA~WcPZ@>
$/)-eVEJD%QhOY*B
${_-WZ>K}?TcQa({
%/}[ea>C}~XeTX*D
$[_(faFK[%YfOU~B
%/=+gU/HD^SjRT_D](W
%/{&bZ>KB%ViTU#/
$<+[gSDCD^SkPZ_}+)c
%/+(1V/G[ETlOSJB(&Z
${-_ZVFFD.YhWW#A
$<{)aYFKD%YeQW#}
$B==Yb/KC#PeNW)/
%})*cXFKB%WkVS~>
$B)=bV/HC$SkQb~C
$/(-WTEB{#QlNa&[
$D=(WW<:RdNT@B
$>{[bbFBD,VkRZ)C
^D(&fbAH>#TdSY%{
$/)_cTFKD%YeSX%C
$B{[WS>K<.SiUY^B
%}[-ab<
%/}[eX/ED,XjRV*{
^D(&fbABC%QhRV^>
%>{]cZFKD%PdTY@}
$}=+eT
$/})ZaAKD%QkVU$/
$B=*YX/F[%PlRY#D
${{_cT{I/.WdPZ^[
%/=[bVDCA.RgRS%>
%>[&aZDC[?RkVa$D
^D(&XbDI[;WcRS&/
%}[-WX
%[_*gaFKD^RhWU_D+(b
%>[&aZDC[?RkVa$D
%/(_YbECB?UkQa&>
${[=aYBK};ScRS@D
$}=)Xa
$/)_fWFKD.RfWV^>
$A++bWFK[$VdWV(}
%[_&ZU{K[:PeRT*B
%/-(WU/G{~VjSZ%C
%/}[gUAD}^PfQS_/)*d
%/{)ZV{GD%PhTb@/
$}=)Xa
$}=+dV{BB;XjSU#A
$[)-dSAFB,XlWS$D
${((fY{D/?UkNX$[
%/)[gUEB}^YkNS_B-=W
$}[(WVFKD%YeWV^/
$/)_fWFKD.RfWV^>
$}=+dV{C}~TeQT&A
%>(*WW{EC%RjQZ(C
$}=+eb/K{:UjWS*D
%}(=aU{KD#WjRS(A
%}-+WWAKD,RhNZ*}
$}=)Xa
$A[)YS{KD,YhNa@{
%/))WZFK[@XiTb#[
%/-_YVDC{,YjVT(>
%/=)XSFKD,RgWa@B
%}(=aU{K[%RcNU@{
%>_=XVFKD,QcNa*B
$}=)Xa
$/)_fWFKD.RfWV^>
%>(&XVFKD%PgWb~/
%/=+WXFB[,PhRb^}
$[+-Xb/K>$SgTb)D
$[+-Xb/K>;VhSa*{
%>)(XSBKD%QdRY~{
%[}&XUFK}~QlRS@[
$}=)XaBC/:YeSa*}
$}(&gW/BD^PcTZ_{(]f
$D(&dbFCD%WhWS&[
%[+=daFKD%TeQT)}
$D)(bbFEA?SeVT*C
$>{-gXFBB^RfRV_D{*d
$B==Yb>K<~SdNb~B
$>{)ZbFKD:PkVY#C
$A[]cWFKD,XjOX(}
$D]&aVFK/?PiWT)A
$D{(ZV/G<.SfTY)B
%/))YTFB>%PlQS@}
%/=+WXFCD.YiPZ){
${{=aSBKA:TcQU&D
$}_*gWDKD^YlSY_<{*b
$[+-YY{KA@ReSU(>
$}=)XZFKC?VkPY)D
$}=+gUDFD^YcWX_/[=b
$A[]cWFKD,XjOX(}
^D(&fb{IA?YlRU$}
$/})ZaAKD%QkVU$/
^D(&fb{IA?YlRU$}
$}[*fZCK/@TfQW#C
$A[]cWFKD,XjOX(}
$/[]fbBBA@YlWT)/
$}}-cbFKD%RhSY*D
$>{+fWFBD,QdWZ([
$<-*dZEJDVS&B
%/=+WXFC[@TiOX&/
$/(-WT{C{@SdRa#}
%/))YT
$>([gS^YdRS_C)(Y
$}=+dV{BA;TlNV*/
$}}-cbFKD%RhSY*D
$}}-cbFKD%RhSY*D
$A]=aYFKD;PlTS^C
${+*aZFKD%QiWV(<
$A(=gUFKD^YcTT_[}&d
%/))WZFI{:WeQa@C
$B==eXFK},SgOY&/
%>{]cZFKD%PdTY@}
$>--fSBI{#XfNU~{
~}_)WT>E[.RfNT#/(*YV
%/=+WXFCD%UgVT~>
$D)(bbFEA?SeVT*C
%[-_eUFKD;QfNU(/
${_*YYBB[%YgRV&A
%[-+XWFK/,XfOS)>
%{-(WXACA~RjRS~}
${)=YWFEB,YlWT#<
$[(-dXFKC$UhOa#{
$B[=eU{C{#PgNS*}
0
%{)]fbFF>,VhNa%{
${{[XUFKC#UcTY%B
%}=*fYFB},YcSS~}
$[+&faAKD%PiRW~>
$}[)aVFKD,RcUb%B
%/})faBJB.TdRW%}
$[[_gZCB[^TlWU_}-]f
%/=+WXFKA@PcVW%B
%{=]gaFK{^TkQY_D{)e
%/}[eX/KD%PdWV*}
%/-_YVDC{,YjVT(>
%/(+YbFDD%RfUS~B
$<__aSBE/%WcVX%/
$}-=XZ
%/=+WXFB[,PhRb^}
$C])fSCCC%TfVa^[
$}=)XaBD}:RjTb~<
$/]]eZFE{%XkVS)C
$A+)cYFKD%SgVW%{
$}=_YV>K[,TeSX%C
$>{_abFK}:TfRS^/
$/(-WS/JA:QhSV&{
$>_-fUADC~XePb#B
$B[=eUBBA.WiTY~B
^D(&fb{IA?YlRU$}
^D(&fb{IA?YlRU$}
%>((XS{C/#YlPX({
$}__cbFKD,XkTU*D
$}__cbFKD,XkTU*D
$}=+1Z
%})]cYFBC@YcRU([
^D(&YX{K[@YdSZ*[
${{_dYFBB%QiOV){
$/(-WT
%{}=aYFH{#YlRa&>
%}}&1SABAEXkSZJD{=a
$>([WVFFD.ViNY&<
%{}=aYFH{#YlRa&>
%}+=dXAHD;PdTZ$[
$}-=XZ
%[}&XUFB{@TiSU*<
^D(&fbFF[$YlRa~<
%/}&XUCK[,UdPU%>
%/[=XXFB>#UhVY^}
$<{_1V/J/EPlUWJ<}-c
%>+_WVFBD.PkUW*}
$B[=eUBKA%WlNX)/
$/)-eSEJD?XiUZ#A
%/=+WXFBA$RhPZ^/
$})*XT/C}.QdO
$A-&YTFKD#PiRS#D
$/)-1a{KDEYcPbJ{}(e
$D_-dVFK}@TcOT&/
$/)-1a{KDEYcPbJ{}(e
$}=)XaDD/?WeQb*}
%/[=eYAKB.TiUX$>
${{[XUFBD;YlOU^A
%>{]cZFKD%PdTY@}
$}(&aT{K[,VjPS(D
$/[*cWFBA#TfUS@B
$>_-fU>E<$SlNb~A
$}=)XaBC/:YeSa*}
$>-]ebAKD,PgOX%B
$<+[WZDK[%VeSX*>
%/}[YWAH}%YlRb^C
${_-bTFKD%RgTX*}
${((fY/KB?RcPa~A
%/(&eWCD[,SlQV%<
$D_-baDK<$YcSW#{
$D_-baDK<$YcSW#{
$D_-baDK<$YcSW#{
$}=]YXFKD%WiTT%/
$[+-gU
${-_ZVFHD.SjWY)C
$[}[fT<
$<}_eXAKD?TcNZ@>

mình muốn replace toàn bộ nó sao cho nhanh nhất thì làm thế nào hả cậu. cậu chỉ tớ tường tận nhé hoặc có thể làm hộ tớ xem :) tớ newbie hihi
 
Upvote 0
tớ quên mất thêm 1 kí tự nữa ở vị trí 1 :

$ = 4
% = 5
^ = 6
 
Upvote 0
Bạn copy list mã đó vào cột A trong Excel (bắt đầu từ ô A1). ở ô B1 đánh vào công thức cvma(A1).Sau đó copy xuống cho đến hết dữ liệu bên cột A.Những mã nào dài quá 16 ký tự sẽ cho lỗi #VALUE.
PHP:
Function cvma(ByVal ma As String)
listma = "D[}{/><ABC`{()_+-=][}`[&*()_+-=]`fWXYZAbcde`bSTUVWXYZA`F{/><ABCDE`KBCDEFGHIJ`D[}{/><ABC`%,.:;?~@#$`YPQRSTUVWX`lcdefghijk`WNOPQRSTUV`bSTUVWXYZA`)~@#$%^&*(`D[}{/><ABC"
mcode = Split(listma, "`")
If Mid(ma, 1, 1) = "$" Then t = 4
If Mid(ma, 1, 1) = "%" Then t = 5
If Mid(ma, 1, 1) = "^" Then t = 6
For i = 2 To Len(ma)
    For j = 1 To Len(mcode(i - 2))
        If Mid(ma, i, 1) = Mid(mcode(i - 2), j, 1) Then
            t = t & " " & j - 1
            Exit For
        End If
    Next
Next
cvma = t
End Function
 

File đính kèm

Upvote 0
Bạn xem trong file nha

PHP:
Option Explicit
Function GiaiMa(StrC As String) As String
 Dim Hg As Long, Cot As Byte, jJ As Long
 Dim Rng As Range, Cls As Range, Cd As String
    
 Hg = Range("BangTra").Rows.Count
 Cot = Range("BangTra").Columns.Count
 If Cot > 16 Then Cot = 16
 Cd = Left(StrC, 1)
 GiaiMa = "'" & Switch(Cd = "$", 4, Cd = "%", 5, Cd = "^", 6)
 For jJ = 2 To Cot
   Set Rng = Range("BangTra").Cells(1, jJ).Resize(Hg)
   GiaiMa = GiaiMa & Rng.Find(Mid(StrC, jJ, 1), , xlFormulas, xlWhole).Row - 1
 Next jJ
End Function
 

File đính kèm

Upvote 0
Nãy giờ các bạn nói về mã hóa rất hay. Nhưng còn 1 chuyện nữa như thế này, mình có 1 mật mã gồm 9 ký tự, nhưng thiếu mất 3 ký tự,giờ phải tìm 3 ký tự đó như thế nào, có thể dùng file code bạn gởi để tìm được không? ( VD: MHJ8***3B ) làm sao để tìm 3 ký tự còn lại trong toàn bộ bảng chữ cái trên bàn phím + 10 chữ số từ 0-9. Bác nào làm được chỉ mình với :( Thanks AE nhiều
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom