■ BASE64 문자열 여부를 구하는 방법을 보여준다.
▶ BASE64 문자열 여부 구하기 예제 (C#)
1 2 3 4 5 |
string source = "TNGkwrjSIAA4u5DH9MU="; // 테스트 문자열 Console.WriteLine(IsBase64String(source)); |
▶ BASE64 문자열 여부 구하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
#region BASE64 문자열 여부 구하기 - IsBase64String(source) /// <summary> /// BASE64 문자열 여부 구하기 /// </summary> /// <param name="source">소스 문자열</param> /// <returns>BASE64 문자열 여부</returns> public bool IsBase64String(string source) { if(source == null || source.Length == 0 || source.Length % 4 != 0 || source.Contains(' ') || source.Contains('\t') || source.Contains('\r') || source.Contains('\n')) { return false; } int index = source.Length - 1; if(source[index] == '=') { index--; } if(source[index] == '=') { index--; } for(int i = 0; i <= index; i++) { if(Validate(source[i])) { return false; } } return true; } #endregion #region 무결성 검증하기 - Validate(source) /// <summary> /// 무결성 검증하기 /// </summary> /// <param name="source">소스 문자</param> /// <returns>무결성 검증 결과</returns> private bool Validate(char source) { int value = (int)source; if(value >= 48 && value <= 57) { return false; } if(value >= 65 && value <= 90) { return false; } if(value >= 97 && value <= 122) { return false; } return value != 43 && value != 47; } #endregion |