Compare commits
7 Commits
a5dd048f07
...
0ca78d7861
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ca78d7861 | ||
|
|
323f4d5b5b | ||
|
|
3b4ca6caa3 | ||
|
|
0a1ff66e38 | ||
|
|
88e5d3a329 | ||
|
|
de2d135fdf | ||
|
|
15679951bc |
@@ -16,7 +16,6 @@ using Windows.Storage.Streams;
|
||||
|
||||
namespace PolyChat
|
||||
{
|
||||
|
||||
// 10.1.211.26 Marc
|
||||
// 10.1.218.90 Felix
|
||||
// 10.4.141.77 Pat
|
||||
@@ -37,7 +36,8 @@ namespace PolyChat
|
||||
public Controller(MainPage uiController)
|
||||
{
|
||||
UIController = uiController;
|
||||
fileManager = new FileManager(uiController);
|
||||
fileManager = new FileManager(this);
|
||||
//OwnIP = getIP();
|
||||
fileManager.loadChats();
|
||||
Serve();
|
||||
|
||||
@@ -65,6 +65,9 @@ namespace PolyChat
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// starts server for clients to connect to
|
||||
/// </summary>
|
||||
private void Serve()
|
||||
{
|
||||
Debug.WriteLine("--- Controller.Serve ---");
|
||||
@@ -107,6 +110,12 @@ namespace PolyChat
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends message to given ip
|
||||
/// </summary>
|
||||
/// <param name="ip"></param>
|
||||
/// <param name="type"></param>
|
||||
/// <param name="content"></param>
|
||||
public void SendMessage(string ip, string type, string content)
|
||||
{
|
||||
Debug.WriteLine("--- Controller.SendMessage ---");
|
||||
@@ -122,6 +131,11 @@ namespace PolyChat
|
||||
fileManager.saveChats(ip, json.ToString(), DateTime.Now);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// if We recieve a message this method gets triggert
|
||||
/// </summary>
|
||||
/// <param name="ip">ip from sender</param>
|
||||
/// <param name="data">String that is send</param>
|
||||
private void OnMessage(string ip, JToken[] data)
|
||||
{
|
||||
Debug.WriteLine("--- Controller.OnMessage ---");
|
||||
@@ -135,6 +149,12 @@ namespace PolyChat
|
||||
else Debug.WriteLine("Undefined: " + data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Closes chat connection
|
||||
/// </summary>
|
||||
/// <param name="IP">ip of user to be closed</param>
|
||||
/// <param name="wasConnected"></param>
|
||||
/// <param name="delete"></param>
|
||||
public void CloseChat(string IP, bool wasConnected = true, bool delete = false)
|
||||
{
|
||||
Debug.WriteLine($"Deleting connection with IP:{IP}");
|
||||
@@ -149,6 +169,17 @@ namespace PolyChat
|
||||
fileManager.deleteChat(IP);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// sends incoming message to ui
|
||||
/// </summary>
|
||||
/// <param name="ip">ip of client that send the message</param>
|
||||
/// <param name="jsonArr">the json array that is ti be displayed in th gui</param>
|
||||
public void SendIncomingMessageUI(String ip, String jsonArr)
|
||||
{
|
||||
UIController.OnIncomingConnection(ip);
|
||||
UIController.OnIncomingMessages(ip, jsonArr);
|
||||
}
|
||||
|
||||
private void CloseChatUI(string IP, bool wasConnected = true, bool delete = false)
|
||||
{
|
||||
UIController.OnChatPartnerDeleted(IP);
|
||||
@@ -166,6 +197,10 @@ namespace PolyChat
|
||||
return Connections.ContainsKey(ip) && Connections[ip].IsConnected();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// returns your own ip that starts with 10. becuase that is our subnet
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string getIP()
|
||||
{
|
||||
IPHostEntry ipEntry = Dns.GetHostEntry(Dns.GetHostName());
|
||||
@@ -180,11 +215,5 @@ namespace PolyChat
|
||||
return null;
|
||||
}
|
||||
|
||||
private void encode(string json)
|
||||
{
|
||||
String ecryptetText = FileManager.encrypt(json);
|
||||
Debug.WriteLine(ecryptetText);
|
||||
Debug.WriteLine(FileManager.decrypt(ecryptetText));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,17 +6,18 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:models="using:PolyChat.Models"
|
||||
mc:Ignorable="d"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" RequestedTheme="Dark">
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="224"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<!-- LEFT SIDE -->
|
||||
<Grid Grid.Column="0" Margin="16">
|
||||
<Grid Grid.Column="0" Padding="16" Background="{ThemeResource SystemChromeMediumColor}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<!-- CONNECTION HEADER -->
|
||||
<StackPanel HorizontalAlignment="Stretch" Spacing="8" Margin="0 0 0 8">
|
||||
@@ -37,7 +38,7 @@
|
||||
<TextBlock Text="Connect to" Foreground="{ThemeResource SystemColorDisabledTextColor}"/>
|
||||
<TextBlock x:Name="ipAddress" Grid.Column="1"/>
|
||||
</Grid>
|
||||
<Border BorderThickness="1" BorderBrush="{ThemeResource AppBarBorderThemeBrush}"/>
|
||||
<Border BorderThickness="1" BorderBrush="{ThemeResource SystemControlBackgroundListLowBrush}"/>
|
||||
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Center">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
@@ -55,12 +56,8 @@
|
||||
<DataTemplate x:DataType="models:ChatPartner">
|
||||
<RadioButton GroupName="chatSelect" Tag="{x:Bind Code}" HorizontalAlignment="Stretch" Height="64" Click="OnChatPartnerSelected">
|
||||
<StackPanel x:Name="ChatPartner" VerticalAlignment="Center" HorizontalAlignment="Stretch">
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
|
||||
<TextBlock HorizontalAlignment="Stretch" Text="{x:Bind Name}"/>
|
||||
<TextBlock Foreground="{ThemeResource SystemColorDisabledTextColor}" Text=" ("/>
|
||||
<TextBlock Foreground="{ThemeResource SystemColorDisabledTextColor}" Text="{x:Bind Code}"/>
|
||||
<TextBlock Foreground="{ThemeResource SystemColorDisabledTextColor}" Text=")"/>
|
||||
</StackPanel>
|
||||
<!--
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
|
||||
<TextBlock HorizontalAlignment="Stretch" Text="{x:Bind Messages.Last().toString()}"/>
|
||||
@@ -73,6 +70,7 @@
|
||||
</ListView.ItemTemplate>
|
||||
</ListView>
|
||||
</ScrollViewer>
|
||||
<Button Grid.Row="2" Click="OnToggleTheme" Content="Toggle Theme"/>
|
||||
</Grid>
|
||||
<TextBlock x:Name="textNoChatSelected" Grid.Column="1" Text="No Chat Selected" Foreground="{ThemeResource SystemColorDisabledTextColor}" FontSize="24" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<!-- RIGHT SIDE -->
|
||||
@@ -100,10 +98,11 @@
|
||||
<ListView x:Name="listViewMessages" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="4 16">
|
||||
<ListView.ItemTemplate>
|
||||
<DataTemplate x:DataType="models:ChatMessage">
|
||||
<StackPanel x:Name="Message" MaxWidth="320" Margin="0 4" Padding="16 8" CornerRadius="4" Background="{ThemeResource SystemAccentColor}">
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
|
||||
<StackPanel HorizontalAlignment="{x:Bind Align}" x:Name="Message" MaxWidth="320" Margin="0 4" Padding="16 8" CornerRadius="4" Background="{ThemeResource SystemAccentColor}">
|
||||
<TextBlock Text="{x:Bind Content}" Foreground="{ThemeResource SystemAltHighColor}" TextWrapping="WrapWholeWords" FontSize="14"/>
|
||||
<TextBlock Text="{x:Bind TimeStamp.ToString()}" Foreground="{ThemeResource SystemAltMediumColor}"/>
|
||||
<TextBlock Text="{x:Bind Foreign}" Foreground="{ThemeResource SystemAltMediumLowColor}" FontStyle="Italic" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ListView.ItemTemplate>
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace PolyChat
|
||||
private ObservableCollection<ChatPartner> Partners;
|
||||
private ChatPartner selectedPartner = null;
|
||||
private string username;
|
||||
private static ElementTheme Theme = ElementTheme.Light;
|
||||
|
||||
public MainPage()
|
||||
{
|
||||
@@ -35,6 +36,9 @@ namespace PolyChat
|
||||
// ui variables
|
||||
ipAddress.Text = IP.GetCodeFromIP(Controller.getIP());
|
||||
Partners = new ObservableCollection<ChatPartner>();
|
||||
// theming
|
||||
RequestedTheme = Theme;
|
||||
// updated placeholder
|
||||
updateNoChatsPlaceholder();
|
||||
updateNoUsernamePlaceholder();
|
||||
updateNoChatSelected();
|
||||
@@ -74,7 +78,7 @@ namespace PolyChat
|
||||
|
||||
public void OnSendMessage(object sender = null, RoutedEventArgs e = null)
|
||||
{
|
||||
selectedPartner.AddMessage(new ChatMessage(username, "message", inputSend.Text));
|
||||
selectedPartner.AddMessage(new ChatMessage(username, "message", inputSend.Text, DateTime.Now, false));
|
||||
Controller.SendMessage(selectedPartner.Code, "message", inputSend.Text);
|
||||
// clear input
|
||||
inputSend.Text = "";
|
||||
@@ -159,7 +163,7 @@ namespace PolyChat
|
||||
Partners.Insert(index, sendingPartner);
|
||||
break;
|
||||
default:
|
||||
sendingPartner.AddMessage(new ChatMessage(origin, type, content, timeStamp));
|
||||
sendingPartner.AddMessage(new ChatMessage(origin, type, content, timeStamp, true));
|
||||
break;
|
||||
}
|
||||
});
|
||||
@@ -176,15 +180,15 @@ namespace PolyChat
|
||||
new ChatMessage(
|
||||
origin,
|
||||
item["type"].ToString(),
|
||||
item["content"].ToString()//,
|
||||
//DateTime.Parse(item["timestamp"].ToString())
|
||||
item["content"].ToString(),
|
||||
DateTime.Parse(item["timestamp"].ToString()),
|
||||
false // TODO: FIX !!!!
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private void OnDeleteChat(object sender = null, RoutedEventArgs e = null)
|
||||
{
|
||||
Controller.CloseChat(selectedPartner.Code,delete: true);
|
||||
@@ -213,35 +217,31 @@ namespace PolyChat
|
||||
if (!Controller.IsConnected(code)) Controller.Connect(code);
|
||||
}
|
||||
|
||||
public void OnToggleTheme(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Theme = Theme == ElementTheme.Light ? ElementTheme.Dark : ElementTheme.Light;
|
||||
RequestedTheme = Theme;
|
||||
}
|
||||
|
||||
private void OnKeyUp(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
|
||||
{
|
||||
updateSendButtonEnabled();
|
||||
if (e.Key == Windows.System.VirtualKey.Enter)
|
||||
if (buttonSend.IsEnabled && e.Key == Windows.System.VirtualKey.Enter)
|
||||
{
|
||||
OnSendMessage();
|
||||
}
|
||||
}
|
||||
|
||||
public static IAsyncOperation<ContentDialogResult> SafelyOpenDialog(Dialog d)
|
||||
public static IAsyncOperation<ContentDialogResult> SafelyOpenDialog(ContentDialog d)
|
||||
{
|
||||
if(VisualTreeHelper.GetOpenPopups(Window.Current).Count == 0)
|
||||
return d.ShowAsync();
|
||||
return null;
|
||||
}
|
||||
|
||||
public static IAsyncOperation<ContentDialogResult> SafelyOpenDialog(NewChatDialog d)
|
||||
{
|
||||
if (VisualTreeHelper.GetOpenPopups(Window.Current).Count == 0)
|
||||
return d.ShowAsync();
|
||||
return null;
|
||||
}
|
||||
// GETTERS
|
||||
|
||||
public static IAsyncOperation<ContentDialogResult> SafelyOpenDialog(EditUsernameDialog d)
|
||||
{
|
||||
if (VisualTreeHelper.GetOpenPopups(Window.Current).Count == 0)
|
||||
return d.ShowAsync();
|
||||
return null;
|
||||
}
|
||||
public static ElementTheme GetTheme() => Theme;
|
||||
|
||||
// UPDATE FUNCTIONS FOR UI PLACEHOLDERS
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Text.Json;
|
||||
using Windows.UI.Xaml;
|
||||
|
||||
namespace PolyChat.Models
|
||||
{
|
||||
@@ -10,38 +11,23 @@ namespace PolyChat.Models
|
||||
public string Type;
|
||||
public string Content;
|
||||
public DateTime TimeStamp;
|
||||
public readonly bool Foreign;
|
||||
public HorizontalAlignment Align;
|
||||
private bool Foreign;
|
||||
|
||||
/// <summary>
|
||||
/// Create own Message (directly sent)
|
||||
/// </summary>
|
||||
/// <param name="origin">My IP</param>
|
||||
/// <param name="type">Message Type</param>
|
||||
/// <param name="content">Message Content (not JSON)</param>
|
||||
public ChatMessage(string origin, string type, string content)
|
||||
{
|
||||
Origin = origin;
|
||||
TimeStamp = DateTime.Now;
|
||||
Type = type;
|
||||
Content = content;
|
||||
// TODO
|
||||
Foreign = false;
|
||||
Debug.WriteLine("Created Message: " + ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create Message loaded with timestamp
|
||||
/// Create Message
|
||||
/// </summary>
|
||||
/// <param name="origin">Origin IP</param>
|
||||
/// <param name="type">Message Type, usually "message"</param>
|
||||
/// <param name="content">Message Content, usually plain text</param>
|
||||
/// <param name="timeStamp">Parsed DateTime</param>
|
||||
public ChatMessage(string origin, string type, string content, DateTime timeStamp, bool foreign = false)
|
||||
public ChatMessage(string origin, string type, string content, DateTime timeStamp, bool foreign)
|
||||
{
|
||||
Origin = origin;
|
||||
TimeStamp = timeStamp;
|
||||
Type = type;
|
||||
Content = content;
|
||||
Align = foreign ? HorizontalAlignment.Right : HorizontalAlignment.Left;
|
||||
Foreign = foreign;
|
||||
Debug.WriteLine("Created Loaded Message: " + ToString());
|
||||
}
|
||||
|
||||
@@ -14,13 +14,21 @@ namespace PolyChat.Models
|
||||
class FileManager
|
||||
{
|
||||
// Controller
|
||||
private readonly MainPage UIController;
|
||||
private readonly Controller controller;
|
||||
|
||||
public FileManager(MainPage uiController)
|
||||
|
||||
//===============================================================================================================================================
|
||||
//Constructor
|
||||
//===============================================================================================================================================
|
||||
public FileManager(Controller controller)
|
||||
{
|
||||
UIController = uiController;
|
||||
this.controller = controller;
|
||||
}
|
||||
|
||||
//===============================================================================================================================================
|
||||
// editing save files
|
||||
//===============================================================================================================================================
|
||||
|
||||
/// <summary>
|
||||
/// deletes chatlog of one speciffic user
|
||||
/// </summary>
|
||||
@@ -59,14 +67,13 @@ namespace PolyChat.Models
|
||||
if (File.Exists($"U:\\PolyChat\\Saves\\{ip}.txt"))
|
||||
{
|
||||
String jsonArr = decrypt(File.ReadAllText($"U:\\PolyChat\\Saves\\{ip}.txt"));
|
||||
UIController.OnIncomingConnection(ip);
|
||||
UIController.OnIncomingMessages(ip, jsonArr);
|
||||
controller.SendIncomingMessageUI(ip, jsonArr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// sends chatlogs as json array to uiController wit corrosponding ip
|
||||
/// sends chatlogs as json array to uiController with corrosponding ip
|
||||
///
|
||||
/// in ui when chat is clicked connection gets established
|
||||
/// </summary>
|
||||
@@ -97,22 +104,18 @@ namespace PolyChat.Models
|
||||
ip = ip.Substring(0, ip.Length - 4);
|
||||
Debug.WriteLine($"-{ip}");
|
||||
Debug.WriteLine(jsonArr);
|
||||
UIController.OnIncomingConnection(ip);
|
||||
UIController.OnIncomingMessages(ip, jsonArr);
|
||||
controller.SendIncomingMessageUI(ip, jsonArr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Saves incoming chat message to
|
||||
/// Saves incoming chat message to U:\PolyChat\Saves\ip.txt
|
||||
/// </summary>
|
||||
/// <param name="ip"></param>
|
||||
/// <param name="json"></param>
|
||||
public void saveChats(string ip, string json, DateTime timeStamp)
|
||||
{
|
||||
//Vielleicht noch so machen dass die mit gleicher ip nacheinander gemacht
|
||||
//werden damit es nicht zu überschreibungen kommt vielleicth auch ganz oben oder am ende ne
|
||||
//writing flag setzen oder auch in der datei selbst ne flag setzen
|
||||
new Thread(() =>
|
||||
{
|
||||
//breaking if namechange
|
||||
@@ -120,39 +123,39 @@ namespace PolyChat.Models
|
||||
if (!obj["type"].ToString().Equals("username"))
|
||||
{
|
||||
//adding timestamp
|
||||
obj = JObject.Parse(json);
|
||||
obj.Add(new JProperty("timestamp", timeStamp));
|
||||
json = obj.ToString();
|
||||
|
||||
if (File.Exists($"U:\\PolyChat\\Saves\\{ip}.txt"))
|
||||
{
|
||||
Debug.WriteLine("--File allready exists--");
|
||||
|
||||
//check for integraty of file
|
||||
string output = decrypt(File.ReadAllText($"U:\\PolyChat\\Saves\\{ip}.txt"));
|
||||
Debug.WriteLine($"---{output}---");
|
||||
if (output.Substring(0, 1).Equals("[") && output.Substring(output.Length - 1, 1).Equals("]"))
|
||||
{
|
||||
Debug.WriteLine("--adding new chatmessage--");
|
||||
//structure intact
|
||||
//save new chat
|
||||
String saved = output.Substring(0, output.Length - 1);
|
||||
output = saved + ", " + json + " ]";
|
||||
Debug.WriteLine("--adding new chatmessage--");
|
||||
output = output.Substring(0, output.Length - 1) + ", " + json + " ]"; //rip appart and put file back together
|
||||
File.Delete($"U:\\PolyChat\\Saves\\{ip}.txt");
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", encrypt(output));
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", encrypt(output)); //encrypt and save to textfile
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.WriteLine("--Structure not intact--");
|
||||
Debug.WriteLine("--redoing file--");
|
||||
//structure not intact
|
||||
//redo file
|
||||
Debug.WriteLine("--Structure not intact--");
|
||||
Debug.WriteLine("--redoing file--");
|
||||
File.Delete($"U:\\PolyChat\\Saves\\{ip}.txt");
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", encrypt($"[ {json} ]"));
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", encrypt($"[ {json} ]")); //encrypt and write to file
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.WriteLine("--Creating new File--");
|
||||
//setup file
|
||||
Debug.WriteLine("--Creating new File--");
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", encrypt($"[ {json} ]"));
|
||||
}
|
||||
}
|
||||
@@ -160,28 +163,35 @@ namespace PolyChat.Models
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
//security
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
private void genKeys()
|
||||
{
|
||||
//===============================================================================================================================================
|
||||
// Encryption
|
||||
//===============================================================================================================================================
|
||||
|
||||
/// <summary>
|
||||
/// generates keypair [public, privte] (100% secure, trust me)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private String[] genKeys()
|
||||
{
|
||||
return new String[] {"sehrSichererKey", "nochVielSichererKey"};
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// does exactly what it says. XD
|
||||
///
|
||||
/// encrypts given string and returns unreadable string
|
||||
/// </summary>
|
||||
/// <param name="toEncrypt"></param>
|
||||
/// <returns></returns>
|
||||
public static String encrypt(String toEncrypt)
|
||||
private String encrypt(String toEncrypt)
|
||||
{
|
||||
try
|
||||
{
|
||||
string textToEncrypt = toEncrypt;
|
||||
string ToReturn = "";
|
||||
string publickey = "santhosh";
|
||||
string secretkey = "engineer";
|
||||
string publickey = genKeys()[0];
|
||||
string secretkey = genKeys()[1];
|
||||
byte[] secretkeyByte = { };
|
||||
secretkeyByte = System.Text.Encoding.UTF8.GetBytes(secretkey);
|
||||
byte[] publickeybyte = { };
|
||||
@@ -203,22 +213,23 @@ namespace PolyChat.Models
|
||||
{
|
||||
throw new Exception(ex.Message, ex.InnerException);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// does exactly what it says. XD
|
||||
///
|
||||
/// takes in unreadable string and returns infirmation
|
||||
/// </summary>
|
||||
/// <param name="toEncrypt"></param>
|
||||
/// <returns></returns>
|
||||
public static String decrypt(String toDecrypt)
|
||||
private String decrypt(String toDecrypt)
|
||||
{
|
||||
try
|
||||
{
|
||||
string textToDecrypt = toDecrypt;
|
||||
string ToReturn = "";
|
||||
string publickey = "santhosh";
|
||||
string privatekey = "engineer";
|
||||
string publickey = genKeys()[0];
|
||||
string privatekey = genKeys()[1];
|
||||
byte[] privatekeyByte = { };
|
||||
privatekeyByte = System.Text.Encoding.UTF8.GetBytes(privatekey);
|
||||
byte[] publickeybyte = { };
|
||||
@@ -244,10 +255,4 @@ namespace PolyChat.Models
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace PolyChat.Views
|
||||
// TODO: use event handlers and asign actions here
|
||||
Primary = primary.Action;
|
||||
Secondary = secondary.Action;
|
||||
RequestedTheme = MainPage.GetTheme();
|
||||
}
|
||||
|
||||
private void setType(string type, string message)
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace PolyChat.Views
|
||||
if (initialValue == null || initialValue.Length == 0) IsSecondaryButtonEnabled = false;
|
||||
else input.Text = initialValue;
|
||||
validate();
|
||||
RequestedTheme = MainPage.GetTheme();
|
||||
}
|
||||
|
||||
public string getValue()
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace PolyChat.Views
|
||||
{
|
||||
this.InitializeComponent();
|
||||
IsPrimaryButtonEnabled = false;
|
||||
RequestedTheme = MainPage.GetTheme();
|
||||
}
|
||||
|
||||
public string getValue()
|
||||
|
||||
Reference in New Issue
Block a user