public void LoadProductKey(string productkey) { HROne.CommonLib.Crypto crypto = new HROne.CommonLib.Crypto(symProvEnum); string preProductKey = getPreProductKey(productkey); string[] parts = preProductKey.Split(new char[] { '-' }); if (parts.Length != 3) { throw new Exception("InvalidProductKey"); } string sSerial = parts[0]; string sCompanyUser = parts[1]; string sFeature = parts[2]; m_SerialNo = Convert.ToUInt16(ConvertNumberFromBase64String(sSerial)); ushort numCompaniesUsers = Convert.ToUInt16(ConvertNumberFromBase64String(sCompanyUser)); m_NumOfCompanies = (ushort)(numCompaniesUsers / 100); m_NumOfUsers = (ushort)(numCompaniesUsers % 100); byte featureFlag = ((byte)ConvertNumberFromBase64String(sFeature)); m_IsPayroll = (featureFlag & FLAG_PAYROLL) == FLAG_PAYROLL; m_IsTaxation = (featureFlag & FLAG_TAXATION) == FLAG_TAXATION; m_IsLeaveManagement = (featureFlag & FLAG_LEAVE) == FLAG_LEAVE; m_IsESS = (featureFlag & FLAG_ESS) == FLAG_ESS; m_IsAttendance = (featureFlag & FLAG_Attendance) == FLAG_Attendance; m_IsCostCenter = (featureFlag & FLAG_CostCenter) == FLAG_CostCenter; m_IsTraining = (featureFlag & FLAG_Training) == FLAG_Training; }
public static string DecryptQueryString(HttpSessionState session, string QueryString) { if (QueryString.StartsWith("?")) { QueryString = QueryString.Substring(1); } if (session["EncryptQueryString"] != null) { if (session["EncryptQueryString"].Equals(true)) { if (!string.IsNullOrEmpty(QueryString)) { string tmpQueryString = HttpUtility.UrlDecode(QueryString); if (tmpQueryString.Length % 4 != 0) { return(QueryString); } System.Text.RegularExpressions.Regex regExBase64 = new System.Text.RegularExpressions.Regex(@"[0-9a-zA-Z\+/=]{20,}"); if (!regExBase64.IsMatch(tmpQueryString)) { return(QueryString); } //if (((string)value).Contains(" ")) // return value; //if (((string)value).Contains("(") || ((string)value).Contains(")")) // return value; byte[] bytIn; try { bytIn = Convert.FromBase64String(tmpQueryString); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); return(QueryString); } if (bytIn.Length % 16 != 0) { return(QueryString); } HROne.CommonLib.Crypto crypto = new HROne.CommonLib.Crypto(HROne.CommonLib.Crypto.SymmProvEnum.Rijndael); try { string newQueryString = crypto.Decrypting(tmpQueryString, "0123456789abcdef"); return(newQueryString); } catch { return(QueryString); } } } } return(QueryString); }
private string getPreProductKey(string productkey) { HROne.CommonLib.Crypto crypto = new HROne.CommonLib.Crypto(symProvEnum); foreach (ProductLicenseType value in Enum.GetValues(typeof(ProductLicenseType))) { try { string preProductKey = crypto.Decrypting(base32.ConvertBase32ToBase64(productkey), value.ToString()); m_ProductType = value; return(preProductKey); } catch { } } return(string.Empty); }
public string getProductFeatureCode(DatabaseConnection dbConn) { StringBuilder builder = new StringBuilder(); builder.Append(FEATURE_CODE_MAX_EMPLOYEE + "=" + m_CompanyDBMaxEmployee.ToString() + ";"); int defaultMaxQuotaMB = 0; if (!int.TryParse(ESystemParameter.getParameter(dbConn, ESystemParameter.PARAM_CODE_DEFAULT_MAX_INBOX_SIZE_MB), out defaultMaxQuotaMB)) { defaultMaxQuotaMB = 0; } builder.Append(FEATURE_CODE_MAX_INBOX_SIZE_MB + "=" + (defaultMaxQuotaMB > m_CompanyDBInboxMaxQuotaMB ? defaultMaxQuotaMB.ToString() : m_CompanyDBInboxMaxQuotaMB.ToString()) + ";"); builder.Append(FEATURE_CODE_AUTOPAYMPF_HAS_HSBCHASE + "=" + (m_CompanyDBAutopayMPFFileHasHSBCHASE ? "Y" : "N") + ";"); builder.Append(FEATURE_CODE_AUTOPAYMPF_HAS_OTHERS + "=" + (m_CompanyDBAutopayMPFFileHasOthers ? "Y" : "N") + ";"); HROne.CommonLib.Crypto crypto = new HROne.CommonLib.Crypto(HROne.CommonLib.Crypto.SymmProvEnum.RC2); return(crypto.Encrypting(builder.ToString(), HROne.ProductLicense.ProductLicenseType.HROneSaaS.ToString())); }
private void SetDatabaseConfig(XmlElement databaseConfigRootNode, DatabaseConfig dbConfig) { XmlDocument config = databaseConfigRootNode.OwnerDocument; databaseConfigRootNode.AppendChild(config.CreateElement("name")); databaseConfigRootNode["name"].InnerText = dbConfig.name; databaseConfigRootNode.AppendChild(config.CreateElement("dbtype")); if (dbConfig.DBType.Equals(DBTypeEmun.MSSQL)) { HROne.CommonLib.Crypto crypto = new HROne.CommonLib.Crypto(HROne.CommonLib.Crypto.SymmProvEnum.Rijndael); databaseConfigRootNode["dbtype"].InnerText = "MSSQL"; databaseConfigRootNode.AppendChild(config.CreateElement("ConnectionString")); System.Data.SqlClient.SqlConnectionStringBuilder connStringBuilder = new System.Data.SqlClient.SqlConnectionStringBuilder(dbConfig.ConnectionString); connStringBuilder.Password = crypto.Encrypting(connStringBuilder.Password, keyString); databaseConfigRootNode["ConnectionString"].InnerText = connStringBuilder.ConnectionString; } }
private DatabaseConfig LoadDatabaseConfig(XmlElement node) { HROne.CommonLib.Crypto crypto = new HROne.CommonLib.Crypto(HROne.CommonLib.Crypto.SymmProvEnum.Rijndael); string strDBType = string.Empty; string strConnectionString = string.Empty; string strName = string.Empty; if (node["dbtype"] != null) { strDBType = node["dbtype"].InnerText; } if (node["name"] != null) { strName = node["name"].InnerText; } if (node["ConnectionString"] != null) { strConnectionString = node["ConnectionString"].InnerText; } if (strDBType.Equals("MSSQL")) { DatabaseConfig config = new DatabaseConfig(); config.DBType = DBTypeEmun.MSSQL; config.name = strName; System.Data.SqlClient.SqlConnectionStringBuilder connStringBuilder = new System.Data.SqlClient.SqlConnectionStringBuilder(strConnectionString); try { connStringBuilder.Password = crypto.Decrypting(connStringBuilder.Password, keyString); connStringBuilder.ApplicationName = "HROneWeb"; config.ConnectionString = connStringBuilder.ConnectionString; } catch { } return(config); } else { return(null); } }
public string GetProductKey() { string sSerialNo = ConvertNumberToBase64String(m_SerialNo); string sProductCode = ProductType.ToString(); string sCompanyUser = ConvertNumberToBase64String((ushort)(m_NumOfCompanies * 100 + m_NumOfUsers)); //string sTrialPeriod = ConvertNumberToBase64String // ((ushort)((m_IsTrialKey ? FLAG_TRIAL_KEY : (ushort)0) + m_TrialDays)); string sFeature = ConvertNumberToBase64String ((byte)((m_IsPayroll ? FLAG_PAYROLL : (byte)0) | (m_IsTaxation ? FLAG_TAXATION : (byte)0) | (m_IsLeaveManagement ? FLAG_LEAVE : (byte)0) | (m_IsESS ? FLAG_ESS : (byte)0) | (m_IsAttendance ? FLAG_Attendance : (byte)0) | (m_IsCostCenter ? FLAG_CostCenter : (byte)0) | (m_IsTraining ? FLAG_Training : (byte)0) )); string preProductKey = sSerialNo + "-" + sCompanyUser + "-" + sFeature; HROne.CommonLib.Crypto crypto = new HROne.CommonLib.Crypto(symProvEnum); string productKey = crypto.Encrypting(preProductKey, sProductCode); string decryptProductKey = crypto.Decrypting(productKey, sProductCode); string base32Key = base32.ConvertBase64ToBase32(productKey); return(base32Key); //string sSerialNo = base32.encodeb32(m_SerialNo, 4); //string sProductCode = base32.ReverseEncodeString(m_ProductCode); //string sCompanyUser = base32.encodeb32(m_NumOfCompanies * 100 + m_NumOfUsers, 3); //string sTrialPeriod = base32.encodeb32 // (m_IsTrialKey ? FLAG_TRIAL_KEY : 0 + m_TrialDays, 2); //string sFeature = base32.encodeb32 // ((m_IsPayroll ? FLAG_PAYROLL : 0) // | (m_IsTaxation ? FLAG_TAXATION : 0) // | (m_IsLeaveManagement ? FLAG_LEAVE : 0) // | (m_IsESS ? FLAG_ESS : 0) // | (m_IsAttendance ? FLAG_Attendance : 0), 2); //string preProductKey = sSerialNo + sProductCode + sCompanyUser + sTrialPeriod + sFeature; //return base32.CheckSum(preProductKey) + preProductKey; }
public static string URLwithEncryptQueryString(HttpSessionState session, string URL) { if (session["EncryptQueryString"] != null) { if (session["EncryptQueryString"].Equals(true)) { int QueryStartQuestionMarkPos = URL.IndexOf('?'); if (QueryStartQuestionMarkPos >= 0) { string originalQueryString = URL.Substring(QueryStartQuestionMarkPos + 1); if (!string.IsNullOrEmpty(originalQueryString)) { HROne.CommonLib.Crypto crypto = new HROne.CommonLib.Crypto(HROne.CommonLib.Crypto.SymmProvEnum.Rijndael); string newQueryString = crypto.Encrypting(originalQueryString, "0123456789abcdef"); URL = URL.Replace(originalQueryString, System.Web.HttpUtility.UrlEncode(newQueryString)); } } } } return(URL); }